【Python】zip圧縮で圧縮率・レベルを設定する方法

この記事では、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.txtoutput.zipという名前のzipファイルに圧縮されます。

sample.txtは圧縮したいファイルのパス、output.zipは出力先のzipファイルのパス、compression_levelは圧縮レベルを指定する整数値です。

圧縮レベルを変更したい場合は、compress_file関数compression_levelの値を変更してください。

以上がPythonでzip圧縮を行う方法です。

詳細な圧縮レベルの設定については、zipfileモジュールのドキュメントを参照してください。

目次から探す