はじめに
カレントディレクトリにあるフォルダを全てをZIP形式に圧縮または全てのZIPフォルダを解凍するコードを共有して残したいと思ったので記事にしました。
実装
Python 3.9.1
ZIP形式にフォルダを圧縮
以下のコードを実行することでカレントディレクトリにあるフォルダを全てZIP形式に圧縮することができます。
compress_ZIP_folder.py
from shutil import make_archive
import os
path = './'
files = os.listdir(path)
folders_list = [f for f in files if os.path.isdir(os.path.join(path, f))]
# フォルダ内のZIPフォルダを全て圧縮する
for folder in folders_list:
make_archive(folder, 'zip', root_dir=folder)
ZIPフォルダを解凍
以下のコードを実行することでカレントディレクトリにあるZIPフォルダを全て解凍することができます。
unzip_the_ZIP_folder.py
from shutil import unpack_archive
import glob
path = './*.zip'
zip_folders_list = glob.glob(path)
# フォルダ内のZIPフォルダを全て解凍する
for folder in zip_folders_list:
unpack_archive(folder, format='zip')
終わりに
複数のフォルダを圧縮・解凍する機会はなかなかないと思いますが、作業効率化にお役に立てれば嬉しいです。