Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで大きなファイルを圧縮する方法:zipfileモジュールの使い方を解説

はじめに

Pythonを使えば、ファイルの圧縮や解凍(展開)を簡単に行うことができます。標準ライブラリのzipfileモジュールを利用すると、単一のファイルでも複数のファイルでも、一度にまとめてZIP形式で圧縮できます。この処理は非常にシンプルで、ほんの数行のコードを書くだけで実現可能です。

zipfileモジュールによる圧縮の手順

まず、zipfileモジュールをインポートします。次に、ZipFileオブジェクトを書き込みモードで開きます。その際、第2引数として「'w'」を指定します。圧縮したいファイルがコードと同じフォルダにある場合はファイル名だけでOKですが、別の場所にある場合はパスを指定することもできます。

以下が実際のコード例です。

import zipfile
foo_zip = zipfile.ZipFile('foo.zip', 'w')
foo_zip.write('foo.txt', compress_type=zipfile.ZIP_DEFLATED)
foo_zip.close()

コードの解説

  • 1行目: zipファイルを操作するためのzipfileモジュールをインポートします。
  • 2行目: 「foo.zip」という名前の新しいZIPファイルを作成し、書き込みモード('w')で開きます。
  • 3行目: 圧縮対象の「foo.txt」をZIPファイルに追加します。compress_type=zipfile.ZIP_DEFLATEDを指定することで、DEFLATEアルゴリズムによる圧縮が有効になります。
  • 4行目: ZIPファイルを閉じて、変更内容を確定します。

実行結果

このコードを実行すると、「foo.txt」から圧縮された「foo.zip」というZIPファイルが生成されます。なお、with文を使えば、close()を明示的に呼び出さずに自動的にファイルを閉じることもできるため、より安全な書き方として推奨されます。

import zipfile

with zipfile.ZipFile('foo.zip', 'w') as foo_zip:
    foo_zip.write('foo.txt', compress_type=zipfile.ZIP_DEFLATED)

このように、Pythonのzipfileモジュールを使えば、わずか数行のコードで効率的にファイルを圧縮できます。バックアップ作成やデータ転送など、さまざまな場面で活用してみてください。

  1. Androidで大きなオーディオファイルを圧縮する方法【おすすめアプリ3選】

    WhatsAppで音声ファイルを送ろうとしたら、「ファイルサイズが大きすぎます」というメッセージが表示されて困ったことはありませんか?これは多くの人が経験したことがある問題で、急いで送りたいときには特にストレスになります。WhatsAppでは16MBを超えるファイルを送信できません。そこで今回は、この制限をクリアするために役立つAndroid向けの圧縮アプリを3つご紹介します。どれも操作が簡単なので、テクノロジーが苦手な方でも安心して使えますよ。1. WinZip – Zip Unzip ToolWinZipは、ファイル圧縮を手軽に行える定番アプリです。まず、SDカードまたは外部SDカード内の

  2. インターネットで大容量ファイルを送信する方法|無料で安全に送れる5つのサービス

    近年、インターネットを通じて大容量ファイルを送信するニーズは急速に高まっています。本記事では、手間をかけずに大容量ファイルを安全に転送できる、最も信頼性の高い方法をご紹介します。 GmailやOutlookといった標準的なメールサービスでは、25MBを超えるファイルを添付して送信することができません。そのため、大容量ファイルを送りたい場合は、別の手段を利用する必要があります。ここでは、セキュリティを確保しながら大容量ファイルを簡単に送れる方法を厳選して解説します。 大容量ファイルを無料で送信・転送する方法 まずはファイルを圧縮しよう: 大容量ファイルを送信する前に、圧縮ソフトを使ってファイルサ