Загрузить файл через sftp с python

Я написал простой код для загрузки файла на сервер sftp в python. Я использую python 2.7

import pysftp

srv = pysftp.Connection(host="www.destination.com", username="root",
password="password",log="./temp/pysftp.log")

srv.cd('public') #chdir to public
srv.put('C:UsersXXXDropboxtest.txt') #upload file to nodejs/

# Closes the connection
srv.close()

файл не появился на сервере. Однако сообщение об ошибке не появилось. Что не так с кодом?

EDIT:я включил ведение журнала. Я обнаружил, что файл загружен в корневую папку а не в общую папку. Кажется srv.cd('public') не работает.

1 ответов


Я нашел ответ на свой вопрос.

import pysftp

srv = pysftp.Connection(host="www.destination.com", username="root",
password="password",log="./temp/pysftp.log")

with srv.cd('public'): #chdir to public
    srv.put('C:\Users\XXX\Dropbox\test.txt') #upload file to nodejs/

# Closes the connection
srv.close()

поставить srv.put внутри srv.cd