pythonのライブラリリファレンスを見ているとディレクトリをzip圧縮するメソッドがなかったので作成してみました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # -*- coding: utf-8 -*- import os,zipfile def zip_write_dir(base_dir, src_dir, zip_name): """ディレクトリをzip圧縮する base_dir: src_dirが属するディレクトリを表す src_dir: 圧縮対象のディレクトリを表す zip_name: 出力先のzipファイルのフルパスを表す """ zf = zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED) current_dir = os.getcwd(); os.chdir(base_dir) for root,dirs,files in os.walk(src_dir): for _file in files: filename = os.path.join(root,_file) arcname = filename zf.write(filename, arcname) zf.close() os.chdir(current_dir) |