<分区>
我正在寻找 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,它可能符合要求。不知何故以前没看到那个。仍然很高兴听到其他建议!