この記事では、Pythonに標準で含まれているzipfileモジュールを使ってディレクトリを丸ごとzip圧縮する方法を解説します。
初心者の方でもわかりやすく、具体的な手順とサンプルコードを通じて、ディレクトリを簡単にzipファイルに圧縮する方法を学ぶことができるでしょう。
Pythonのzipfileモジュール
Pythonのzipfileモジュールは、ディレクトリを丸ごとzip圧縮するための便利なツールです。
このモジュールを使用することで、Pythonプログラムから簡単にディレクトリをzipファイルに圧縮することができます。
ディレクトリをzip圧縮する手順
ディレクトリを丸ごとzip圧縮するためには、Pythonのzipfileモジュールを使用します。
以下では、具体的な手順を解説します。
ディレクトリのパスを指定する
まず、圧縮したいディレクトリのパスを指定します。
例えば、/path/to/directory
というディレクトリを圧縮したい場合、以下のようにパスを指定します。
import zipfile
directory_path = "/path/to/directory"
zipファイルを作成する
次に、zipファイルを作成します。
zipfile.ZipFile()関数
を使用して、新しいzipファイルを作成します。
zip_file = zipfile.ZipFile("compressed.zip", "w")
上記の例では、compressed.zip
という名前のzipファイルを作成しています。
ディレクトリ内のファイルをzipに追加する
作成したzipファイルに、ディレクトリ内のファイルを追加します。
zip_file.write()関数
を使用して、ファイルをzipに追加します。
for root, dirs, files in os.walk(directory_path):
for file in files:
file_path = os.path.join(root, file)
zip_file.write(file_path)
上記の例では、os.walk()関数
を使用してディレクトリ内のファイルを再帰的に取得し、zip_file.write()関数
でファイルをzipに追加しています。
zipファイルを閉じる
最後に、zipファイルを閉じます。
zip_file.close()関数
を使用して、作成したzipファイルを閉じます。
zip_file.close()
これで、ディレクトリを丸ごとzip圧縮する手順が完了しました。
以上の手順を実行することで、指定したディレクトリ内のファイルがすべてzipファイルに圧縮されます。
import zipfile, os
directory_path = "/path/to/directory"
zip_file = zipfile.ZipFile("compressed.zip", "w")
for root, dirs, files in os.walk(directory_path):
for file in files:
file_path = os.path.join(root, file)
zip_file.write(file_path)
zip_file.close()