【Python】フォルダを除外してファイルのみzip圧縮する方法を解説

この記事では、Pythonを使ってフォルダ内にあるファイルのみ(フォルダは除外)をzip圧縮する方法を解説します。

初心者の方でも簡単に理解できるように、手順ごとに詳しく説明していきます。

フォルダ内のファイルを効率的に圧縮したい方は、ぜひご覧ください。

目次から探す

ファイルのみ圧縮する手順

ファイルのみを抽出してzip圧縮する方法を解説します。

以下の手順に従って進めていきましょう。

必要なモジュールのインポート

まずは、必要なモジュールをインポートします。

Pythonでは、ファイル操作やzip圧縮に便利なモジュールが提供されています。

以下のコードを使って、必要なモジュールをインポートしましょう。

import os
import zipfile

osモジュールは、ファイルやディレクトリの操作を行うためのモジュールです。

zipfileモジュールは、zipファイルの作成や解凍を行うためのモジュールです。

フォルダ内のファイルを取得する

次に、指定したフォルダ内のファイルを取得します。

以下のコードを使って、フォルダ内のファイルを取得しましょう。

folder_path = '/path/to/folder'  # フォルダのパスを指定する
file_list = os.listdir(folder_path)  # フォルダ内のファイルを取得する

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圧縮する

zip_file_pathには、作成する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圧縮する方法です。

ご参考にしてください。

目次から探す