python - Python 的 ftplib 的替代品?

标签 python ftp

<分区>

我正在寻找 python 的 ftplib 的替代品,以提高速度。执行 FTP 上传时,python 的 ftplib.FTP.storbinary 会顺序读取内存,然后以指定 block 大小的 block 发送到服务器,直到文件上传。因此,它根本不是很快。理想情况下,一个线程会不断地提前读取至少一个 block 大小,而另一个线程总是会发送已经在内存中的 block 。 python 本身的速度也可能是一个因素,但无论如何,Ubuntu 的本地 FTP 客户端(命令行)上传速度要快 60%。

我曾考虑通过 python 子进程使用 Ubuntu 的 native FTP 客户端,但我真的想要 ftplib 支持的回调功能来更新每个 block 大小的单个文件的上传进度(在发送每个 block 后调用 python 函数指针) .此外,从 python 调用 Ubuntu 的 native FTP 客户端有点棘手,因为它旨在进行交互。

所以...有人对支持回调功能且比 python 的 ftplib 更快的 python FTP 客户端有任何建议吗?我对已使用 python 包装器设置的已编译 C/C++ 库持开放态度。

编辑:我刚刚遇到 pycurl,它可能符合要求。不知何故以前没看到那个。仍然很高兴听到其他建议!

最佳答案

我认为 pycURL 将是您的最佳选择之一。我不久前在这个网站上发现了另一个同意这一点的问题。这个问题和你的不完全一样,但也许它会帮助你。

这是该问题的链接:Python Libraries for FTP Upload/Download?

关于python - Python 的 ftplib 的替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24784946/

相关文章:

python - 找出每组最近三个数据点的斜率

python - PyCharm pip install googlesearch 给出错误

python - 如何将 CSV 文件直接发送到 FTP 服务器

php - FTP::connection() 随机失败

ftp - 使用许多目录加速 lftp 镜像

symfony1 - 如何仅通过 FTP 上传更新外部服务器上的 Symfony 路由?

python - 我如何使用堆栈跟踪来告诉我应该为Python的try/except使用哪个异常

python - 有关于在 python 中创建自定义绘图对象-类的好教程吗?

Python装饰器在类中获取或设置字典值

linux - Django,我在尝试访问提供给 ftp 用户的目录时收到 "Permission Denied"