好的高级python ftp / http lib?

时间:2009-10-07 16:36:15

标签: python http ftp

我正在寻找一个优秀的高级python ftp客户端/服务器库。我正在研究一个项目,该项目在ftplib / urllib / urllib2上从最初的一个函数“进化”了一个小的http / ftp库,并且几乎没有一个被设计为构建。所以现在是重新认真思考的时候了,我想切换到一个库。我最不愿意处理的是强健重试逻辑(比如,重试15次,或者继续重试直到12点)。

我们现在遇到的问题是,我们有大约10个单独的grab()put()函数。从美学角度讲,我宁愿让每一个都有try_until=datetime(2009, 10, 7, 19)retrys=15的可选参数。我们使用二进制和文本数据,因此功能必须相当聪明。而且我们采取的措施比投入更多,所以我可以在没有看跌期权的情况下进行交易。

urlgrabber看起来正是我想要的,但过去几年似乎没有任何发展,我不确定它与2.6的兼容性。有人有这方面的经验吗?还是意见?

2 个答案:

答案 0 :(得分:4)

URLgrabber似乎非常成熟,因为它被yum(以及许多Unix系统)使用,我希望它非常稳定。 Python 2.x在很大程度上是向后兼容的。您可能会遇到一些警告,但我希望它能在Python 2.6下正常工作。

答案 1 :(得分:0)

根据您编写的应用程序的类型,您可能需要考虑twisted python,因为它内置了http服务器和客户端代码。但是,它与标准的过程python编程有很大不同。

为您扭曲的最大优势是它可以在后台处理您的客户端请求,处理重试并且具有很高的可扩展性。

更新

对于与服务器交互的快速脚本,请参阅此serverfault答案: https://serverfault.com/questions/66336/script-automation-login-enter-password-run-commands-save-output-locally

它推荐工具expect

  

Expect是一种自动化工具   交互式应用程序,如   telnet,f​​tp,passwd,fsck,rlogin,   小费等等。期待真的能做到这一点   琐事。期望也很有用   用于测试这些相同的应用   通过添加Tk,您还可以换行   X11 GUI中的交互式应用程序。

     

期待可以轻松各种各样   任务非常困难   还有别的。你会发现的   期待是绝对无价的   工具 - 使用它,你将能够   自动执行您从未做过的任务   想到以前 - 你将能够   快速完成这种自动化   容易。

听起来不错!