1

好的,有点前进:

我们有一个用 python 编写的服务/守护进程来监控远程 ftp 站点。这些站点不在我们的指挥之下,其中一些我们没有删除/重命名/写入权限,有些还运行着非常旧的 ftp 软件。这样某些命令不起作用。这些 ftp 中的任何一个都没有标准化,而且它们超出了我们的控制(政府)。

大约一年前,我为内部编写了一个 ftp 包装器库,它基本上添加了诸如恢复上传/恢复下载/验证文件当前未写入等内容。问题是我们很快发现,由于太多运行 werid/非标准软件的 ftp 服务器,我们一直在与包装库/ftplib 进行斗争。

基本上我已经放弃了ftplib。有替代方案吗?我查看了大多数 ftp 替代方案,它们都缺少一个或另一个关键功能组件。

无论选择是什么,它都必须为 python 2.5.2 运行(我们无法更改)。并且必须在 Linux/Windows/HP-UX 上运行。

更新:

对不起,我忘了告诉你我看过的替代方案:

  1. ftputil,问题是它不支持恢复上传/下载以及部分下载文件等给定偏移量的东西。
  2. Pycurl 看起来不错,我会再看一遍。
4

2 回答 2

2

你没有提到你已经看过哪些替代品。ftputil 是其中之一吗?

http://ftputil.sschwarzer.net/trac/wiki/Documentation

如果您尝试围绕各种服务器实现的边缘案例进行编码,您最好查看 Mozilla/Firefox 使用的代码。我想这是他们必须经常处理的事情之一。

于 2009-07-06T18:47:08.703 回答
1

使用其中一种 cURL 绑定(例如pycURL )可能会更好。

于 2009-07-06T18:33:47.247 回答