0

可能重复:
Python:HTTP 发布带有流式传输的大文件

我正在编写一个通过 http 上传大量数据的程序(特别是到 Amazon Glacier,但这无关紧要),并且我正在寻找减少内存开销的方法。

目前的情况基本上是: - 读取内存中的部分文件, - 上传文件到服务器。

问题是,部分很大,高达 4096 MB,将其全部存储在 RAM 中只是浪费内存。我正在寻找一种将内存减少到不超过 1 MB 的方法。

我一直在看

HTTPConnection.request(方法, url[, body[, headers]])

其中 body 可能是一个打开的文件(无需将其复制到内存;只需从磁盘读取就可以了):问题是我不想一次性发送一个完整的文件,而是该文件的任意部分。然而,没有用那部分数据创建一个新文件,我不知道如何处理这个问题。

4

1 回答 1

0

根据这个http://bugs.python.org/issue12319 urllib2 支持 POST 的块编码。我猜 add_data 因此可以被多次调用。

于 2012-10-08T15:27:21.747 回答