我正在尝试将 Windows 文件夹中的所有文件上传到 SFTP 文件夹。下面是我的代码。如果 csv 文件夹中没有文件,则不会发生任何情况。如何实现这一目标?
with pysftp.Connection(host, username, password) as sftp:
localpath = r'files\csv'
remotepath = '/2021/November'
sftp.put(localpath,remotepath)
它现在抛出以下错误。
PermissionError: [Errno 13] Permission denied: 'files\csv'
最佳答案
Connection.put
只能上传单个文件。
要上传文件夹中的所有文件,您可以使用Connection.put_d
。对于递归上传,您可以使用 Connection.put_r
。不幸的是,两者都不适用于 Windows。
但是实现可移植递归上传很容易,请参阅:
Python pysftp put_r does not work on Windows
请注意,pysftp 是一个已失效的项目。考虑改用 Paramiko。请参阅pysftp vs. Paramiko 。
关于python - 如何在Python中将Windows文件夹中的所有文件上传到SFTP文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70006154/