如何在Python中将所有文件从Windows文件夹上传到SFTP文件夹

Posted

技术标签:

【中文标题】如何在Python中将所有文件从Windows文件夹上传到SFTP文件夹【英文标题】:How to upload all files from Windows folder to SFTP folder in Python 【发布时间】:2021-12-28 12:49:53 【问题描述】:

我正在尝试将 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'

【问题讨论】:

【参考方案1】:

Connection.put 只能上传单个文件。

要上传文件夹中的所有文件,您可以使用Connection.put_d。对于递归上传,您可以使用Connection.put_r。不幸的是,两者都不能在 Windows 上运行。

但实现可移植递归上传很容易,见:Python pysftp put_r does not work on Windows

【讨论】:

以上是关于如何在Python中将所有文件从Windows文件夹上传到SFTP文件夹的主要内容,如果未能解决你的问题,请参考以下文章

如何在python中将日期从外部文件导入sql时处理引号('')?

如何在python中将打印作业发送到打印机

如何在 Windows 终端中将 Ubuntu 添加为配置文件选项?

如何在 python 脚本中将 .obj 文件从搅拌机导入搅拌机游戏引擎

如何在Python框架Flask中将图像文件从表单上传到数据库

如何在 Windows 10 中将文件夹添加到 `Path` 环境变量(附截图)