2010-04-03 67 views
3

我需要通过FTP和SFTP将多个文件从目录上传到服务器。 我已经用python,paramiko和线程解决了SFTP的这个任务。但是我为FTP做这件事有问题。我试图使用ftplib for python,但它似乎不支持线程,并且我一个接一个地上传所有文件,这很慢。多线程FTP上传。可能吗?

我想知道是否可以使用FTP协议进行多线程上传而不创建单独的连接/授权(需要太长时间)?

解决方案可以使用Python或PHP。也许CURL?会感激任何想法。

回答

1

除了through之外的另一种并发方法是异步io。对于Python,异步网络的标准工具包是Twisted

看看这个FTP客户端example Twisted。

2

有一个创建asynchronous FTP client的功能,但基本上FTP协议允许同步命令。要允许并行下载/上传,您需要打开多个FTP连接。这可以通过ftplib和线程完成。

0

您可以在多个命令提示符/ shell中运行该脚本(只需确保每个文件仅由所有不同的脚本处理一次)。我不知道这个快速和肮脏的伎俩将提高传输速度虽然..