使用Python中的目录项创建zipfile

使用Python中的目录项创建zipfile,python,python-3.x,python-3.3,Python,Python 3.x,Python 3.3,对于单元测试,我需要一个包含目录项的zipfile。在紧要关头,我可以手动创建一个,并将其以二进制形式保存在repo中,但我更愿意作为测试设置的一部分动态创建它 zipfile模块和shutil.make_archive似乎都无法创建目录项。有本地python解决方案吗?我本能地同意您的方法“以二进制形式将其保存在repor中”,特别是因为它非常小,并且保证在不同平台上是相同的 要动态创建这样一个ZIP文件,您可能需要走“很长的路”,首先在光盘上创建目标结构。为此,我将在中使用,然后压缩它。我实

对于单元测试,我需要一个包含目录项的zipfile。在紧要关头,我可以手动创建一个,并将其以二进制形式保存在repo中,但我更愿意作为测试设置的一部分动态创建它


zipfile
模块和
shutil.make_archive
似乎都无法创建目录项。有本地python解决方案吗?

我本能地同意您的方法“以二进制形式将其保存在repor中”,特别是因为它非常小,并且保证在不同平台上是相同的


要动态创建这样一个ZIP文件,您可能需要走“很长的路”,首先在光盘上创建目标结构。为此,我将在中使用,然后压缩它。

我实际上已经有了目标结构,用于其他测试。我还需要在该结构的压缩版本上运行包含目录项的测试。这很奇怪:
os.makedirs('test/folder/structure')
后跟
shutil.make_archive('test',format='zip',base_dir='test')
工作正常(即,使用任何查看器查看时,文件test.zip都包含嵌套的目录结构)。什么东西不能像预期的那样工作?我使用zipinfo读取了归档文件,但在其中没有看到任何目录项。也许我错过了什么。我再查一下,你说得对。我以前试过,但一定是做错了什么。