如何将目录的内容添加到zip文件?

时间:2013-07-27 02:13:24

标签: python-3.x

如何使用python将整个目录的内容添加到现有的zip文件中?要添加到zip文件的目录也将包含其他文件夹,并且zip文件中将存在需要覆盖的重复项。任何帮助,将不胜感激。提前谢谢!

P.S。如果可以压缩目录,那么组合两个也可以工作的文件。

1 个答案:

答案 0 :(得分:0)

Python的zipfile模块允许您操作ZIP压缩档案。 ZipFile.namelist()方法返回存档中的文件列表,ZipFile.write()方法允许您将文件添加到存档。

z = zipfile.ZipFile('myfile.zip')

os.walk方法允许您遍历目录树中包含的所有文件。

for root, dirs, files in os.walk('mydir'):
  for filename in files:
    z.write(os.path.join(root, filename))

更换存档中的文件似乎很棘手;您可以通过创建临时存档来删除项目,然后在完成所述in this question后更换原始文件。

改为调用zip命令可能更容易,但将它们放在一起,你应该可以到达你想要的地方。