1. ホーム
  2. python

[解決済み] ディレクトリのZIPアーカイブを作成する方法は?

2022-03-14 11:59:49

質問

Pythonでディレクトリ構造のzipアーカイブを作成するにはどうすればよいですか?

どのように解決するのですか?

他の方が指摘されているように ジップファイル . ドキュメントには、どのような関数が利用できるかは書かれていますが、それを使ってディレクトリ全体をzipで圧縮する方法については、あまり説明されていません。サンプルコードで説明するのが一番簡単だと思います。

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), 
                       os.path.relpath(os.path.join(root, file), 
                                       os.path.join(path, '..')))
      
zipf = zipfile.ZipFile('Python.zip', 'w', zipfile.ZIP_DEFLATED)
zipdir('tmp/', zipf)
zipf.close()