Pythonでは標準ライブラリでZipファイルへの圧縮と展開ができます。
Zipファイルの作成
example.zipという名称のZipファイルを作成するサンプルです。arcnameを指定すると別名でアーカイブできます。
>>> from zipfile import ZipFile
>>> z = ZipFile('example.zip', 'w')
>>> z.write('filename1.txt')
>>> z.write('filename2.txt', 'arcname.txt')
>>> z.close()
Zipファイルの展開
namelistでファイル名のリストを取得し、readでファイルのバイト列を取得します。注
>>> import os
>>> z = ZipFile('example.zip', 'r')
>>> for f in z.namelist():
... open(os.path.basename(f), 'w').write(z.read(f))
...
>>> z.close()
注 このサンプルではbasenameだけを使ってファイルを作成していますので、異なるディレクトリで同名のファイルが存在する場合は上書きされてしまいます。注意してください。