[3行でOK]ファイルをzip形式で圧縮する方法[Python]

スポンサードリンク
アイキャッチ Python
過去の自分
過去の自分

いつも手動でやっているファイルの圧縮を自動でしたい…。
Pythonでファイルを圧縮できないの?

今の自分
今の自分

できます!
「ファイルをzip形式で圧縮する方法」
をできるだけわかりやすく解説いたします!

【著者情報】
Python歴3年。
入社2年目の春に先輩が突然トンズラし、業務を半分肩代わりするハメに…。
今までの1.5倍の仕事をこなせるはずもなく、苦しむ毎日。
業務効率化を模索中にPythonと出合う。
業務とPythonの相性が良く、2倍以上の効率化を実現。現在も効率化を進行中。

スポンサードリンク

[Python]ファイルをzip形式で圧縮するには

「zipfile」を使います。まずは実行見本をどうぞ。

実行見本

見本

全コード

import zipfile

zf = zipfile.ZipFile('input.zip', 'w', compression = zipfile.ZIP_DEFLATED)
zf.write('input.xlsx')
zf.close()

解説

※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。

ファイル圧縮の手順は次の通りです。

  1. (zipfileのインポート)
  2. 空っぽのzipファイルを作成
  3. 圧縮するファイルを入れる
  4. zipファイルを閉じる

1つ1つ解説いたします。

zipfileのインポート

ファイルを圧縮するには「zipfile」のインポートが必要です。

import zipfile

上記一文を記述して、「zipfile」をインポートしましょう。

空っぽのzipファイルを作成

ここからが本題です。
まずは「空っぽのzipファイル」を作成します。

手動で行うファイル圧縮と比べて、手順が全く違うためピンと来ないと思います。
空っぽの「フォルダ」を作るような感覚でしょうか…。
何もない箱を作るものだと思ってください。

zf = zipfile.ZipFile('input.zip', 'w', compression = zipfile.ZIP_DEFLATED)

上記一文で、空っぽのzipファイルを作成することができます。
少しごちゃごちゃしていますので、1つ1つ解説いたします。
この行が終われば後は簡単です。かんばりましょう。

<テンプレ>
【 変数 = zipfile.ZipFile(‘圧縮後のファイル名’, ‘モード’, compression = zipfile.ZIP_DEFLATED) 】

左辺の変数ですが、名前は基本的に何でも構いません。
名前の付け方等について詳しく知りたい場合は、下記記事をご参考ください。

【zipfile.ZipFile】
大文字と小文字が混在していますが、この通り記述してください。
間違えると動作しない場合があります。

【圧縮後のファイル名】
ファイル名は「○○○.zip」にしてください。
拡張子を「zip」以外にすると、動作しない場合があります。

【モード】
見本通り「w」と記述してください。新規でzipファイルを作る場合は「w」です。
他にも「a(追加モード)」「r(解凍モード)」がありますが、今回は割愛します。

【compression = zipfile.ZIP_DEFLATED】
こちらも大文字と小文字が混在していますが、この通り記述してください。

圧縮するファイルを入れる

前項で作った空っぽのzipファイルに、圧縮したいファイル入れます。

zf.write('input.xlsx')

【 空っぽのzipファイル.write(‘圧縮したいファイル名’) 】

今回は1つだけですが、複数のファイルをまとめて圧縮することもできます。
ファイルの種類もエクセルだけではなく、何でも構いません。

zf.write('input.xlsx')
zf.write('input.jpg')
zf.write('input.txt')

zipファイルを閉じる

空っぽのzipファイルに圧縮したいファイルを入れたら、後はzipファイルを閉じて終了です。

zf.close()

ファイルやフォルダを閉じる時と同じです。
zipファイルに対して「もうファイルは無いよ」「終わりだよ」と言っているようなものだと思ってください。
これを書かないと、zipファイルは「まだかな~、まだかな~」と常に待機している状態になり、圧縮が完了しません。

スポンサードリンク

圧縮後におすすめすること

ファイルの圧縮が完了したら、元ファイルを削除することで、ストレージ容量の削減になります。
ファイルを削除する方法は下記記事をご参考ください。

削除するのがちょっと怖い場合は、元ファイルを別のストレージに移動するのも有効です。
ファイルを移動する方法は下記記事にて解説しております。

スポンサードリンク

最後に

Pythonでファイルをzip形式で圧縮する方法を解説いたしました。

画像ファイルなど、重いファイルをメールで送る時には圧縮するのがマナーです。
画像ファイルを操作する際は、ついでに圧縮してしまいましょう。

当ブログでは、Pythonに関する情報を配信しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。

最後までお読みいただき、ありがとうございました。がんばってください!

タイトルとURLをコピーしました