以下运行,但导致解压缩失败的文件:
import io
import zipfile
b = io.BytesIO()
zf = zipfile.ZipFile(b, mode='w')
zf.writestr('a/b.txt', 'look here')
zf.writestr('a/c.txt', 'look there')
open('here.zip', 'wb').write(b.getbuffer())
然后测试:
$ unzip here.zip
Archive: here.zip
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip: cannot find zipfile directory in one of here.zip or
here.zip.zip, and cannot find here.zip.ZIP, period.
什么不见了?
更新:
这似乎现在可以工作,不确定它是否被最大程度地压缩?
import io
import zipfile
b = io.BytesIO()
zf = zipfile.ZipFile(b, mode='w')
zf.writestr('a/b.txt', 'look here')
zf.writestr('a/c.txt', 'look there')
zf.close()
open('here.zip', 'wb').write(b.getbuffer())