4

ZipFileファイル名を読み取る代わりに、zip ファイルのリテラル バイトを渡してオブジェクトを初期化する方法はありますか? ディスクに触れる必要のない安らかなアプリを構築しています。ファイルを開いて何らかの作業を行い、再圧縮して送信するだけです。

4

3 に答える 3

2

を使用した例を次に示し(c)StringIOます。

from zipfile import ZipFile
try:
    import cStringIO as StringIO
except ImportError:
    import StringIO

in_memory = StringIO.StringIO()   
zf = ZipFile(in_memory, "a")  

zf.writestr("file.txt", "some text contents")

zf.close()

以下も参照してください。

于 2013-09-23T18:56:45.703 に答える
2

確かに、代わりに (c)StringIO を使用してください: http://docs.python.org/2/library/stringio.html また、Python 3 には BytesIO を使用する必要があります。ただし、2.6 と 2.7 には存在します。

于 2013-09-23T18:53:51.990 に答える