Pythonでは、特定のパターンに一致するファイル名を取得するためにglob
とre
を使用することができます。
globとreの基本的な使い方
glob
は、特定のパターンに一致するファイル名を取得するためのモジュールです。以下にその基本的な使い方を示します。
import glob
file = glob.glob('test/*.txt')
print(file)
上記のコードでは、test
ディレクトリ内の.txt
拡張子を持つすべてのファイルを取得しています。
一方、re
は正規表現を扱うためのモジュールで、より複雑なパターンマッチングを行うことができます。
globとreの組み合わせ
glob
とre
を組み合わせることで、特定のパターンに一致するファイル名をより効率的に取得することができます。以下にその例を示します。
import glob
import re
imagelist = [path for path in glob.glob('trainpath/**', recursive=True) if re.search('.(bmp|dib|png|jpg|jpeg|pbm|pgm|ppm|tif|tiff)', path.lower())]
上記のコードでは、trainpath
ディレクトリ(およびそのサブディレクトリ)内の特定の画像ファイル形式を持つすべてのファイルを取得しています。
このように、glob
とre
を適切に使用することで、特定のパターンに一致するファイル名を効率的に取得することができます。これらのモジュールを理解し、適切に使用することで、Pythonでのファイル操作が大幅に楽になります。