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

标签 python sftp pysftp

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

相关文章:

python - 尝试导入 .pyc 模块时出现错误的魔数(Magic Number)

python - Django 错误 : "' ChoiceField' object has no attribute 'is_hidden' "

linux - 如何通过 SFTP 将数据传输到远程文件而不将数据存储在 Linux Bash 的本地文件中?

amazon-web-services - 如何将 .pem 文件导入 AWS Lambda 函数

Python 当我获取或尝试读取 sftp 文件时发生了什么?

尽管文件已上传,Python pysftp.put 仍引发 "No such file"异常

python - 属性错误: module 'tensorflow_core.python.keras.api._v2.keras.activations' has no attribute 'swish'

python - 获取分割图像的最大连通分量

通过 sftp 从远程服务器下载 PHP

java - 如何在 windows 和 linux 远程服务器之间传输/同步内容?