ファイル・フォルダを圧縮・解凍するのに、Pythonの標準モジュールshutil, zipfileで扱ってみます。公式のドキュメントは、こちら(shutil)、こちら(zipfile)から。
フォルダ(ディレクトリ)をZIPファイルに圧縮する
import shutil
shutil.make_archive('zip_name', 'zip', root_dir='path')
複数のファイルをZIPファイルに圧縮する
import zipfile
with zipfile.ZipFile('new_zip.zip', 'w', compression=zipfile.ZIP_DEFLATED) as new_zip:
new_zip.write('a.txt')
new_zip.write('0/b.txt')
new_zip.write('1/c.txt')
ZIPファイルを解凍する
import zipfile
with zipfile.ZipFile('data.zip') as ext_zip:
ext_zip.extractall('dst_path')