0

重複の可能性:
Python: HTTP ストリーミングで大きなファイルを投稿する

http 経由で大量のデータをアップロードするプログラムを作成しています (具体的には Amazon Glacier ですが、それは関係ありません)。メモリのオーバーヘッドを削減する方法を検討しています。

現在の状況は基本的に次のとおりです。 - メモリ内のファイルの一部を読み取り、 - ファイルをサーバーにアップロードします。

問題は、一部が大きく、最大 4096 MB であり、すべてを RAM に格納するのは単にメモリの浪費であることです。メモリを 1 MB 以下に削減する方法を探しています。

私は見てきました

HTTPConnection.request(メソッド、url[、ボディ[、ヘッダー]])

body は開いているファイルである可能性があります(これをメモリにコピーする必要はありません。ディスクから読み取るだけで問題ありません):問題は、ファイル全体を一度に送信するのではなく、そのファイルの任意の部分を送信したくないことです。ただし、データのその部分だけで新しいファイルを作成するまでは、これを処理する方法がわかりません。

4

1 に答える 1

0

このhttp://bugs.python.org/issue12319によると、urllib2 は POST のチャンク エンコーディングをサポートしています。したがって、 add_data は複数回呼び出すことができると思います。

于 2012-10-08T15:27:21.747 に答える