如何在Python中创建目录的zip存档?
正如其他人指出的那样,你应该使用zipfile。该文档告诉你可用的功能,但并未真正说明如何使用它们压缩整个目录。我认为用一些示例代码来解释是最简单的:
#!/usr/bin/env python import os import zipfile def zipdir(path, ziph): # ziph is zipfile handle for root, dirs, files in os.walk(path): for file in files: ziph.write(os.path.join(root, file)) if __name__ == '__main__': zipf = zipfile.ZipFile('Python.zip', 'w', zipfile.ZIP_DEFLATED) zipdir('tmp/', zipf) zipf.close()
最简单的方法是使用shutil.make_archive。它支持zip和tar格式。
shutil.make_archive
import shutil shutil.make_archive(output_filename, 'zip', dir_name)
如果你需要做的事情比压缩整个目录还要复杂(例如跳过某些文件),那么你将需要zipfile按照其他人的建议深入研究该模块。