今回はPythonでzipファイルでまとめたり圧縮したりする方法を記します。
PythonでファイルをZipに圧縮する方法
import zipfile CompressionPath="c:\\test\\new.zip" #---------------------- # Zipファイル用のオブジェクトを作成する zipfilepointer=zipfile.ZipFile(CompressionPath,"w",zipfile.ZIP_DEFLATED) # Zipファイルにファイルやフォルダを追加する ZIPList=zipfilepointer.write("c:\\test\\新しいフォルダー","./新しいフォルダー") ZIPList=zipfilepointer.write("c:\\test\\1.txt","./1.txt") ZIPList=zipfilepointer.write("c:\\test\\2.txt","./02.txt") ZIPList=zipfilepointer.write("c:\\test\\3.txt","./新しいフォルダー/3.txt") ZIPList=zipfilepointer.write("c:\\test\\4.txt","./新しいフォルダー/04.txt") ZIPList=zipfilepointer.write("c:\\test\\5.txt","./999/5.txt") # Zipファイル用のオブジェクトを閉じる zipfilepointer.close() #----------------------
指定したURLの中身をファイルとしてダウンロードします。
zipfileをインポート
import zipfile
まずimport zipfileします。
zipfileは標準ライブラリなので特別にインスト-ルする必要はありません。
Zipファイル用のオブジェクトを作成する
zipfilepointer=zipfile.ZipFile(CompressionPath,"w",zipfile.ZIP_DEFLATED)
ZIPファイルオブジェクト=zipfile.ZipFile( “Zipファイルのパスとファイル名” , “書き込みモード” , 圧縮タイプを指定するフラグ)
■書き込みモード
「w」なら新規作成
「a」なら追加
■圧縮タイプを指定するフラグ
zipfile.ZIP_STORED | 無圧縮 |
zipfile.ZIP_DEFLATED | ZIP圧縮 |
zipfile.ZIP_BZIP2 | BZIP2圧縮 |
zipfile.ZIP_LZMA | LZMA圧縮 |
指定した場所にZipファイルを作成してZIPファイルオブジェクトも作成されます。
Zipファイルを追加する
zipfilepointer.write("c:\\test\\新しいフォルダー","./新しいフォルダー") zipfilepointer.write("c:\\test\\1.txt","./1.txt") zipfilepointer.write("c:\\test\\2.txt","./02.txt") zipfilepointer.write("c:\\test\\3.txt","./新しいフォルダー/3.txt") zipfilepointer.write("c:\\test\\4.txt","./新しいフォルダー/04.txt") zipfilepointer.write("c:\\test\\5.txt","./999/5.txt")
ZIPファイルオブジェクト.write( “元ファイルのパス” , “ZIPファイル内のパスと名前” )
指定したファイルやフォルダをZIPファイルの中に入れます。
フォルダを指定してもフォルダ内の物はZIPファイルの中には入らないので注意
また、フォルダは「ZIPファイル内のパスと名前」の方で存在しないフォルダを間に入れても自動で作成されます。
「ZIPファイル内のパスと名前」は「./」で開始、「/」でフォルダ分けといった仕様
Zipファイルオブジェクトを閉じる
zipfilepointer.close()
ZIPファイルオブジェクト.close()
ZIPファイルオブジェクトを閉じて後始末完了です。