SFTP 文件上传,避免文件重命名

  • 本文关键字:文件 重命名 SFTP python
  • 更新时间 :
  • 英文 :


我想创建一个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()

发生的事情是所有文件都被传输到文件夹/home/work/schedule,但它们被命名为"work.\文件名"。但我希望文件名相同。我试图排除远程路径将其替换为",但文件仍然被重命名为"\.\文件名"这里有什么问题?

如您所见,我尝试使用 os 和 shutil,但这对我来说不起作用。所以它仍然在代码中,但不是必需的。

感谢您的投入

让你试试:

with srv.cd(remotepath):
    srv.put_d(localpath, 'schedule')

最新更新