1
我想創建一個python腳本,使我能夠通過sftp上傳特定文件夾中的文件。目錄總是一樣的。 這是我想出了:使用python上傳sftp文件 - 避免文件重命名
import pysftp
import os
import shutil
cnopts = pysftp.CnOpts(knownhosts='~/.ssh/authorized_keys')
cnopts.hostkeys = None
host = "xxx"
password = "xxx"
username = "xxx"
srv = pysftp.Connection(host, username=username, password=password, cnopts=cnopts)
# src_files = os.listdir("C:/Users/uploads")
remotepath = "/home/work"
localpath = "C:/Users/uploads"
# with srv.cd('/home/work'): # chdir to work
with srv.cd():
srv.chdir('schedule')
srv.put_d(localpath, remotepath)
print('Upload done')
srv.close()
請告訴我發生的事情是,所有的文件被轉移到該文件夾/家庭/工作/計劃但它們被命名爲這樣。「工作\文件名」。但我想要的文件名是相同的。我試圖排除用''替換它的remotepath,但仍然將文件重命名爲'\。\文件名' 這裏有什麼問題?
正如你所看到的,我試圖與os和shutil一起工作,但那並不適合我。所以它仍然在代碼中,但沒有必要。
謝謝您的輸入
感謝您的快速反應。我嘗試過這個。結果是我的文件被放在服務器上的「work」文件夾中,文件名爲「schedule \。\ test.txt」,所以文件仍然被重命名。 – Burray