Python 如何在不接触磁盘的情况下创建带有目录的内存中zip文件?

Python 如何在不接触磁盘的情况下创建带有目录的内存中zip文件?,python,Python,在pythonweb应用程序中,我将一些东西打包到一个zip文件中。我想在内存中完全动态地执行此操作,而不必触摸磁盘。只要我创建一个平面目录结构,就可以使用ZipFile.writestr,但是如何在zip中创建目录呢 我用的是python2.4 使用一个。在zipfiles中使用它们是可以的。theomega在我的原始帖子的评论中说,在文件名中添加“/”就可以了。谢谢 from zipfile import ZipFile from StringIO import StringIO inMe

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

我用的是python2.4


使用一个。在zipfiles中使用它们是可以的。

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)

您是否尝试过简单地将文件名设置为添加到“directory/filename.ext”中?我们也这样做。非常好用。@AnotherParker如果你有一个更现代的解决方案,请发布,我会提醒你,如果你使用的是python 3,那么你会想使用。如果你只想有没有文件的文件夹,请在最后留下一个
/
。重要的是InMemoryOutput文件实际上是发送的,而不是zipFile对象。