PythonでのZIPファイルの使い方について。
この記事の内容はコチラです
- PythonでZIPに圧縮する
- zipfileの使い方を知る
今回は、PythonでフォルダーをZIPファイルに圧縮する方法を解説します。
ZIPファイルへ圧縮するzipfile
PythonではフォルダーをZIPファイルへ圧縮することができます。
フォルダ・ファイルをZIPファイルに圧縮したり、ZIPファイルを解凍して元のフォルダに戻したりできます。
ZIPファイルを作成する(フォルダを圧縮する)
import zipfile,os # ZIPファイルを作成 zip_f = zipfile.ZipFile('C:\\pg\\圧縮ファイル.zip','w') # 圧縮するファイルのディレクトリへ移動 os.chdir('C:\\user1\\data') # ZIPファイルに追加 zip_f.write('file1.txt', compress_type=zipfile.ZIP_DEFLATED) zip_f.write('プログラム一覧.docx', compress_type=zipfile.ZIP_DEFLATED) zip_f.close()
zipfileの解説
PythonでフォルダーをZIPファイルへ圧縮するには「zipfile」モジュールを使います。ZIPファイルを作成し、フォルダーに中に含まれるファイルを1つずつZIPファイルへ書き込むという手順になります。
zipfile.ZipFileの使い方
import zipfile,os # ZIPファイルを作成 zip_f = zipfile.ZipFile('C:\\pg\\圧縮ファイル.zip','w')
最初に「zipfile」をインポートします。
「zipfile.ZipFile」でZIPファイルを作成します。「zipfile.ZipFile」の第1パラメータはZIPファイルのパスです。
第2パラメータは編集モードです。
w | 書き込み |
r | 読み取り |
a | 追記 |
圧縮するファイルを追加する
# 圧縮するファイルのディレクトリへ移動 os.chdir('C:\\user1\\data')
圧縮するファイルをフルパスで指定すると、ディレクトリ毎、圧縮ファイルの中に入ってしまいます。なので、あらかじめ圧縮するファイルのディレクトリを移動しておきます。
# ZIPファイルに追加 zip_f.write('file1.txt', compress_type=zipfile.ZIP_DEFLATED) zip_f.write('プログラム一覧.docx', compress_type=zipfile.ZIP_DEFLATED) zip_f.close()
「zip_f.write」でZIPファイルに追加したいファイルを指定します。「compress_type」は圧縮方式です。「compress_type=zipfile.ZIP_DEFLATED」固定で。
最後に「zip_f.close」で終了です。
withを使うパターン
zipファイルを扱う場合、「with」を使った方が便利です。最後の「close」が必要なく、コードがインデントするため、zipの有効範囲がわかりやすいですね。
「with」を使ったzipファイルの圧縮に変換します。
import zipfile,os # ZIPファイルを作成 with zipfile.ZipFile('C:\\pg\\圧縮ファイル.zip','w') as zip_f: # 圧縮するファイルのディレクトリへ移動 os.chdir('C:\\user1\\data') # ZIPファイルに追加 zip_f.write('file1.txt', compress_type=zipfile.ZIP_DEFLATED) zip_f.write('プログラム一覧.docx', compress_type=zipfile.ZIP_DEFLATED)
コチラの書き方の方がいいかもしれません。
参考ページ:https://docs.python.jp/3/library/zipfile.html
PythonでフォルダーをZIPファイルへ圧縮することができました。
以上、PythonでフォルダーをZIPファイルへ圧縮するzipfileの使い方でした。
コメント