用于FTP上传/下载的Python库?
好的,先简单介绍一下情况:
我们有一个用Python写的服务/守护进程,它负责监控远程的FTP网站。这些网站不是我们自己控制的,有些我们没有删除、重命名或写入的权限,还有一些使用的是非常老旧的FTP软件,导致某些命令无法使用。这些FTP服务器之间没有统一标准,而且它们都不在我们的控制之下(是政府的)。
大约一年前,我为内部开发了一个FTP封装库,主要是为了增加一些功能,比如可以恢复上传/下载、验证文件是否正在被写入等等。问题是,我们很快发现,由于很多FTP服务器使用奇怪或非标准的软件,我们一直在和这个封装库以及ftplib作斗争。
基本上,我对ftplib已经放弃了。有没有其他的选择?我看过大多数FTP的替代方案,但它们都有一个或另一个关键功能缺失。
无论选择什么,必须能在Python 2.5.2上运行(我们不能更改),并且必须能在Linux/Windows/HP-UX上运行。
更新:
抱歉,我忘了告诉你我看过的替代方案:
- ftputil,问题是它不支持恢复上传/下载,也不支持根据偏移量部分下载文件。
- Pycurl看起来不错,我会再看看。
2 个回答
1
你可以试试使用一些cURL的绑定,比如pycURL,可能会更顺利。
2
你没有提到你已经看过哪些替代方案。ftputil是其中之一吗?
http://ftputil.sschwarzer.net/trac/wiki/Documentation
如果你想处理不同服务器实现中的一些特殊情况,可能可以看看Mozilla/Firefox使用的代码。我想他们一直在处理这些问题。