Pythonのzipfileで圧縮率を求める方法
Pythonのzipfileモジュールを使用してファイルを圧縮した場合、圧縮率を明示的に計算するメソッドは提供されていません。ZIPファイルの圧縮率は、ファイルの圧縮前と圧縮後のファイルサイズを比較して計算できます。
以下は、ファイルをZIP形式で圧縮して、圧縮率を計算する方法の例です:
python
import zipfile import os # 圧縮前のファイルのパス file_to_compress = 'ファイル.txt' # 圧縮後のZIPファイルの名前 zip_file_name = 'ファイル.zip' # ZIPファイルを作成し、ファイルを圧縮 with zipfile.ZipFile(zip_file_name, 'w', zipfile.ZIP_DEFLATED) as zipf: zipf.write(file_to_compress) # 圧縮前のファイルサイズを取得 file_size_before = os.path.getsize(file_to_compress) # 圧縮後のZIPファイルのサイズを取得 file_size_after = os.path.getsize(zip_file_name) # 圧縮率を計算 compression_ratio = (1 - (file_size_after / file_size_before)) * 100 print(f'ファイルを圧縮しました。') print(f'圧縮前のファイルサイズ: {file_size_before} バイト') print(f'圧縮後のZIPファイルサイズ: {file_size_after} バイト') print(f'圧縮率: {compression_ratio:.2f}%')
このコードでは、zipfile.ZipFileを使用してファイルをZIP形式で圧縮し、圧縮前のファイルサイズと圧縮後のZIPファイルサイズを比較して、圧縮率を計算しています。圧縮率はパーセンテージで表示されます。
コードを実行する前に、file_to_compressに圧縮対象のファイルのパスを設定し、zip_file_nameにZIPファイルの名前を設定してください。

ディスカッション
コメント一覧
まだ、コメントがありません