-
拡張子に基づくフィルタリング: あるディレクトリ内のファイルを拡張子でフィルタリングする場合、
glob
モジュールを使用することができます。以下は、拡張子が.txt
のファイルのリストを取得する例です。import glob file_list = glob.glob('/path/to/directory/*.txt')
上記の例では、
/path/to/directory
は対象のディレクトリのパスを指定します。*.txt
は拡張子が.txt
であるすべてのファイルにマッチします。 -
ファイル名に基づくフィルタリング: ファイル名に基づいてフィルタリングする場合、
os
モジュールを使用してディレクトリ内のすべてのファイルを取得し、条件に一致するファイルを抽出することができます。以下は、ファイル名が特定の文字列で始まるファイルのリストを取得する例です。import os directory = '/path/to/directory' prefix = 'example_' file_list = [filename for filename in os.listdir(directory) if filename.startswith(prefix)]
上記の例では、
/path/to/directory
は対象のディレクトリのパスを指定し、example_
で始まるファイルのリストを取得しています。 -
ファイルの属性に基づくフィルタリング: ファイルの属性(作成日時、最終更新日時など)に基づいてフィルタリングする場合、
os
モジュールとos.path
モジュールを使用してファイルの属性を取得し、条件に一致するファイルを抽出することができます。以下は、最終更新日時が特定の範囲内のファイルのリストを取得する例です。import os import os.path import datetime directory = '/path/to/directory' start_date = datetime.datetime(2022, 1, 1) end_date = datetime.datetime(2022, 12, 31) file_list = [filename for filename in os.listdir(directory) if os.path.getmtime(os.path.join(directory, filename)) >= start_date.timestamp() and os.path.getmtime(os.path.join(directory, filename)) <= end_date.timestamp()]
上記の例では、
/path/to/directory
は対象のディレクトリのパスを指定し、2022年1月1日から2022年12月31日までの最終更新日時の範囲内にあるファイルのリストを取得しています。
これらはいくつかの一般的な方法ですが、さまざまな条件に基づいてフィルタリングするためのカスタマイズも可能です。必要に応じてこれらの例を修正して使用してください。