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