我正在寻找一个优秀的高级python ftp客户端/服务器库。我正在研究一个项目,该项目在ftplib / urllib / urllib2上从最初的一个函数“进化”了一个小的http / ftp库,并且几乎没有一个被设计为构建。所以现在是重新认真思考的时候了,我想切换到一个库。我最不愿意处理的是强健重试逻辑(比如,重试15次,或者继续重试直到12点)。
我们现在遇到的问题是,我们有大约10个单独的grab()
和put()
函数。从美学角度讲,我宁愿让每一个都有try_until=datetime(2009, 10, 7, 19)
或retrys=15
的可选参数。我们使用二进制和文本数据,因此功能必须相当聪明。而且我们采取的措施比投入更多,所以我可以在没有看跌期权的情况下进行交易。
urlgrabber看起来正是我想要的,但过去几年似乎没有任何发展,我不确定它与2.6的兼容性。有人有这方面的经验吗?还是意见?
答案 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,ftp,passwd,fsck,rlogin, 小费等等。期待真的能做到这一点 琐事。期望也很有用 用于测试这些相同的应用 通过添加Tk,您还可以换行 X11 GUI中的交互式应用程序。
期待可以轻松各种各样 任务非常困难 还有别的。你会发现的 期待是绝对无价的 工具 - 使用它,你将能够 自动执行您从未做过的任务 想到以前 - 你将能够 快速完成这种自动化 容易。
听起来不错!