2015-11-17 163 views
7

我寫了一個簡單的代碼來上傳文件到一個sftp服務器在Python中。我正在使用python 2.7使用python上傳文件通過sftp

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')沒有工作。

+1

這是一個有點難以從你的描述說。在創建連接並調查日誌文件時設置'log ='/ tmp/pysftp.log'。 –

回答

10

我找到了自己問題的答案。

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.putsrv.cd