この記事では、Pythonを使ってフォルダ内にあるファイルのみ(フォルダは除外)をzip圧縮する方法を解説します。
初心者の方でも簡単に理解できるように、手順ごとに詳しく説明していきます。
フォルダ内のファイルを効率的に圧縮したい方は、ぜひご覧ください。
目次から探す
ファイルのみ圧縮する手順
ファイルのみを抽出してzip圧縮する方法を解説します。
以下の手順に従って進めていきましょう。
必要なモジュールのインポート
まずは、必要なモジュールをインポートします。
Pythonでは、ファイル操作やzip圧縮に便利なモジュールが提供されています。
以下のコードを使って、必要なモジュールをインポートしましょう。
import os
import zipfile
zipfile
モジュールは、zipファイルの作成や解凍を行うためのモジュールです。
フォルダ内のファイルを取得する
次に、指定したフォルダ内のファイルを取得します。
以下のコードを使って、フォルダ内のファイルを取得しましょう。
folder_path = '/path/to/folder' # フォルダのパスを指定する
file_list = os.listdir(folder_path) # フォルダ内のファイルを取得する
フォルダを除外してファイルのみを抽出する
取得したファイルリストから、フォルダを除外してファイルのみを抽出します。
以下のコードを使って、フォルダを除外してファイルのみを抽出しましょう。
file_list = [file for file in file_list if os.path.isfile(os.path.join(folder_path, file))] # フォルダを除外してファイルのみを抽出する
ファイルをzip圧縮する
最後に、抽出したファイルをzip圧縮します。
以下のコードを使って、ファイルをzip圧縮しましょう。
zip_file_path = '/path/to/zipfile.zip' # 作成するzipファイルのパスを指定する
with zipfile.ZipFile(zip_file_path, 'w') as zip_file:
for file in file_list:
file_path = os.path.join(folder_path, file)
zip_file.write(file_path, file) # ファイルをzip圧縮する
完成したコード
最終的なコードは以下のようになります。
import os
import zipfile
folder_path = '/path/to/folder'
zip_file_path = '/path/to/zipfile.zip'
file_list = os.listdir(folder_path)
file_list = [file for file in file_list if os.path.isfile(os.path.join(folder_path, file))]
with zipfile.ZipFile(zip_file_path, 'w') as zip_file:
for file in file_list:
file_path = os.path.join(folder_path, file)
zip_file.write(file_path, file)
以上が、フォルダを除外してファイルのみをzip圧縮する方法です。
ご参考にしてください。