【发布时间】:2013-01-31 10:38:51
【问题描述】:
我在某处 (FTP/HTTP) 有一个大文件。
我想要
- 先下载
N字节, - 检查其嵌入文件的头部(版本是否不同)
- 然后决定是继续还是中止下载。
这绝对不是我想象的那么简单的任务(令我惊讶)。即使在外部调用 wget/curl 似乎也不是一个好的解决方案(也许我忽略了正确的命令行选项)。
如何在 Python 中尽可能简单地做到这一点?
我正在考虑为ftp.retrbinary 提供一个自定义处理程序,一旦块的总和超过定义的值,它就会引发异常,但在我看来这太过分了。 Python 代码应该很优雅吧?
【问题讨论】:
-
您只需要标题吗?看看
requests;它让您流式传输请求,您可以在其中仅获取标头,然后如果您也想关闭连接。 或者如果你愿意,也可以读取响应正文的前 N 个字节。 -
Dikei:我已经看到了答案,但它不包括 FTP,我也需要这个。