如何在Python中创建目录的zip存档?

发布于 2021-02-02 23:17:03

如何在Python中创建目录的zip存档?

关注者
0
被浏览
66
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    正如其他人指出的那样,你应该使用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()
    


  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    最简单的方法是使用shutil.make_archive。它支持zip和tar格式。

    import shutil
    shutil.make_archive(output_filename, 'zip', dir_name)
    

    如果你需要做的事情比压缩整个目录还要复杂(例如跳过某些文件),那么你将需要zipfile按照其他人的建议深入研究该模块。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看