19

Python でファイルを sftp サーバーにアップロードする簡単なコードを作成しました。私は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:\Users\XXX\Dropbox\test.txt') #upload file to nodejs/

# Closes the connection
srv.close()

ファイルがサーバーに表示されませんでした。ただし、エラーメッセージは表示されませんでした。コードの何が問題になっていますか?

編集: ロギングを有効にしました。ファイルがパブリック フォルダーではなく、ルート フォルダーにアップロードされていることがわかりました。srv.cd('public')うまくいかなかったようです。

4

3 に答える 3

35

私は自分の質問に対する答えを見つけました。

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

于 2015-11-17T08:53:16.280 に答える