如何在不触及磁盘的情况下创建包含目录的内存zip文件?

时间:2010-08-31 14:55:14

标签: python

在python Web应用程序中,我将一些东西打包成zip文件。我想在内存中完全执行此操作,而不需要触摸磁盘。只要我正在创建一个平面目录结构,使用ZipFile.writestr就可以了,但是如何在zip中创建目录呢?

我正在使用python2.4。

http://docs.python.org/library/zipfile.html

2 个答案:

答案 0 :(得分:28)

'theomega'在我的原始帖子的评论中说了什么,在文件名中添加'/'就可以了。谢谢!

from zipfile import ZipFile
from StringIO import StringIO

inMemoryOutputFile = StringIO()

zipFile = ZipFile(inMemoryOutputFile, 'w') 
zipFile.writestr('OEBPS/content.xhtml', 'hello world')
zipFile.close()

inMemoryOutputFile.seek(0)

答案 1 :(得分:1)

使用StringIO。 <{3}}可以将它们用于zipfiles。