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
だけを使ってファイルを作成していますので、異なるディレクトリで同名のファイルが存在する場合は上書きされてしまいます。注意してください。