Pythonを使ってファイルをZIP形式で圧縮する方法を解説します。ファイル圧縮の手順とサンプルコードを紹介します。
Pythonでファイルを圧縮する方法を教えてください!
Pythonを使ってファイルをZIP形式で圧縮するにはzipfileモジュールを使用します。
ZIPファイルの作成手順
ZIPファイルの作成手順は以下の通りです。
- 「zipfile」モジュールをインポートする
ZIPファイルを作成するためには、Pythonの標準ライブラリである「zipfile」モジュールを使用します。モジュールをインポートするには、以下のようにします。
import zipfile
- ZIPファイルオブジェクトを作成する
ZIPファイルオブジェクトを作成するには、まずファイル名と保存先のパスを指定します。以下の例では、ファイル名を「sample.zip」とし、保存先のパスを「/path/to/save/」とします。
zip_file = zipfile.ZipFile('/path/to/save/sample.zip', mode='w')
- ファイルをZIPファイルに追加する
ファイルをZIPファイルに追加するには、先に作成したZIPファイルオブジェクトの「write」メソッドを使用します。以下の例では、追加するファイルのパスを「/path/to/file.txt」とし、ZIPファイル内のファイル名を「file.txt」とします。
zip_file.write('/path/to/file.txt', arcname='file.txt')
- ZIPファイルを閉じる
ファイルの追加が完了したら、ZIPファイルを閉じます。
zip_file.close()
これで、指定したパスに「sample.zip」というファイルが作成され、ファイル内に指定したファイルが追加されます。
ZIPファイルを解凍する方法
- 「zipfile」モジュールをインポートする
ZIPファイルを解凍するためには、Pythonの標準ライブラリである「zipfile」モジュールを使用します。モジュールをインポートするには、以下のようにします。
import zipfile
- ZIPファイルオブジェクトを作成する
ZIPファイルオブジェクトを作成するには、解凍するZIPファイルのパスを指定します。以下の例では、解凍するファイルのパスを「/path/to/sample.zip」とします。
zip_file = zipfile.ZipFile('/path/to/sample.zip', mode='r')
- ZIPファイルを解凍する
ZIPファイルを解凍するには、先に作成したZIPファイルオブジェクトの「extractall」メソッドを使用します。以下の例では、ZIPファイルを解凍する先のディレクトリを「/path/to/extract/」とします。
zip_file.extractall('/path/to/extract/')
- ZIPファイルを閉じる
ZIPファイルの解凍が完了したら、ZIPファイルを閉じます。
zip_file.close()
これで、指定したZIPファイルが解凍され、指定したディレクトリに展開されます。
サンプルプログラムを使った解説
ZIPファイルを扱うプログラムのサンプルを紹介します。
ZIPファイルを作成するサンプルプログラム
以下のサンプルプログラムは、複数のファイルをZIPファイルにまとめるプログラムです。
import zipfile
import os
def create_zip_file(source_folder, zip_filename):
zip_file = zipfile.ZipFile(zip_filename, mode='w')
for root, dirs, files in os.walk(source_folder):
for file in files:
zip_file.write(os.path.join(root, file), arcname=file)
zip_file.close()
if __name__ == '__main__':
source_folder = '/path/to/source_folder/'
zip_filename = '/path/to/save/sample.zip'
create_zip_file(source_folder, zip_filename)
このプログラムでは、「source_folder」に指定されたフォルダ内のすべてのファイルをZIPファイルにまとめます。「zip_filename」には、作成するZIPファイルのパスを指定します。ZIPファイルが作成されると、指定されたパスに「sample.zip」というファイルが作成されます。
ZIPファイルを解凍するサンプルプログラム
以下のサンプルプログラムは、ZIPファイルを解凍し、解凍されたファイルを表示するプログラムです。
import zipfile
import os
def extract_zip_file(zip_filename, extract_folder):
zip_file = zipfile.ZipFile(zip_filename, mode='r')
zip_file.extractall(extract_folder)
zip_file.close()
if __name__ == '__main__':
zip_filename = '/path/to/sample.zip'
extract_folder = '/path/to/extract/'
extract_zip_file(zip_filename, extract_folder)
for root, dirs, files in os.walk(extract_folder):
for file in files:
print(os.path.join(root, file))
このプログラムでは、「zip_filename」に指定されたZIPファイルを「extract_folder」に解凍します。「extract_folder」には、ZIPファイルを解凍する先のディレクトリを指定します。ZIPファイルが解凍されると、指定されたディレクトリにファイルが展開されます。展開されたファイルを表示するために、最後に「os.walk」を使用してファイルを列挙しています。
リスキリングでキャリアアップしてみませんか?
リスキリング(学び直し)は、経済産業省が推奨しており、
今だけ、最大70%のキャッシュバックを受けることができます。
最大70%の給付金が出るおすすめのプログラミングスクール!
国策で予算が決められているため申し込みが多い場合は早期に終了する可能性があります!
興味のある方はすぐに確認しましょう。
まとめ
Pythonを使ってファイルをZIP形式で圧縮する方法を解説しました。
- 「zipfile」モジュールを使用することで、Pythonで簡単にZIPファイルを作成したり、解凍したりすることができます。
- ZIPファイルを作成するには、「zipfile」モジュールを使用してZIPファイルオブジェクトを作成し、「write」メソッドでファイルを追加します。
- ZIPファイルを解凍するには、「zipfile」モジュールを使用してZIPファイルオブジェクトを作成し、「extractall」メソッドでZIPファイルを解凍します。
サンプルプログラムを使ったZIPファイルの作成と解凍の方法がわかりやすく説明されていて、とても参考になりました。
Pythonを使ってファイルを圧縮する方法は、プログラムでファイルを処理する際によく使われます。今回紹介した「zipfile」モジュールを使えば、簡単にZIPファイルの作成や解凍ができます。是非、活用してみてください。
コメント