この記事では、Pythonを使用してzip圧縮を行う方法と、圧縮率と圧縮レベルの関係について解説します。
初心者の方でもわかりやすく、具体的なサンプルコードと実行結果の例を交えて説明します。
目次から探す
Pythonでzip圧縮を行う方法
Pythonでは、標準ライブラリのzipfile
モジュールを使用することで、簡単にファイルやディレクトリをzip形式で圧縮することができます。
以下では、Pythonでzip圧縮を行う方法について解説します。
必要なライブラリのインポート
まずは、zipfile
モジュールをインポートします。
以下のコードを実行して、zipfile
モジュールをインポートしましょう。
import zipfile
圧縮レベルを指定してzip圧縮する
zipfile
モジュールを使用して、圧縮レベルを指定してzip圧縮を行うことができます。
圧縮レベルは、0から9までの整数で指定します。
0が無圧縮、9が最大の圧縮レベルです。
以下のコードは、sample.txt
というテキストファイルをoutput.zip
という名前のzipファイルに圧縮する例です。
圧縮レベルは5として指定しています。
import zipfile
def compress_file(file_path, output_path, compression_level):
with zipfile.ZipFile(output_path, 'w', compression=zipfile.ZIP_DEFLATED, compresslevel=compression_level) as zipf:
zipf.write(file_path)
# ファイルのパスと出力先のパス、圧縮レベルを指定して圧縮する
compress_file('sample.txt', 'output.zip', 5)
上記のコードを実行すると、sample.txt
がoutput.zip
という名前のzipファイルに圧縮されます。
圧縮レベルを変更したい場合は、compress_file関数
のcompression_level
の値を変更してください。
以上がPythonでzip圧縮を行う方法です。
詳細な圧縮レベルの設定については、zipfile
モジュールのドキュメントを参照してください。
Python documentation


zipfile — ZIP アーカイブの処理
Source code: Lib/zipfile/ ZIP は一般によく知られているアーカイブ (書庫化) および圧縮の標準ファイルフォーマットです。このモジュールでは ZIP 形式のファイルの作成…