PythonでファイルをZipに圧縮する方法

今回は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ファイルオブジェクトを閉じて後始末完了です。

スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする

関連記事



スポンサーリンク