Python 3を使用してファイルを再帰的に検索する方法
Pythonは再帰的にファイルを検索するための強力なツールを提供しています。この記事では、Python 3を使用してファイルシステムを再帰的に探索する方法について詳しく説明します。再帰的検索は、指定したディレクトリ以下のすべてのファイルやサブディレクトリを探索するために使用されます。
osモジュールを使用した再帰的ファイル検索
Pythonのosモジュールを使用すると、ファイルシステムを操作するための便利な機能が提供されます。以下のサンプルコードは、os.walk()関数を使用して指定したディレクトリ以下のファイルを再帰的に検索する方法を示しています。
import os def search_files(directory): for root, dirs, files in os.walk(directory): for file in files: print(os.path.join(root, file)) search_files('path/to/directory')
上記のコードでは、search_files()関数を定義し、os.walk()を使って指定したディレクトリ以下のファイルを検索しています。コードを実行すると、再帰的にすべてのファイルのパスが出力されます。
globモジュールを使用した再帰的ファイル検索
さらに、Pythonのglobモジュールを使用することでもファイルを再帰的に検索することができます。以下のサンプルコードは、globモジュールを使用して再帰的にファイルを検索する方法を示しています。
import glob def search_files(directory): for file in glob.iglob(directory + '/**/*', recursive=True): print(file) search_files('path/to/directory')
上記のコードでは、glob.iglob()関数を使用して指定したディレクトリ以下のファイルを再帰的に検索しています。再帰的にすべてのファイルのパスが出力されます。
Pathlibモジュールを使用した再帰的ファイル検索
Python 3.4以降では、Pathlibモジュールを使用することでファイルシステムを操作することができます。以下のサンプルコードは、Pathlibモジュールを使用して再帰的にファイルを検索する方法を示しています。
from pathlib import Path def search_files(directory): for file in Path(directory).rglob('*'): print(file) search_files('path/to/directory')
上記のコードでは、Pathlibモジュールのrglob()メソッドを使用して指定したディレクトリ以下のファイルを再帰的に検索しています。再帰的にすべてのファイルのパスが出力されます。
これらの方法を使えば、Pythonを使ってファイルシステムを再帰的に検索することができます。適切な方法を選択して、あなたのプロジェクトに最適なファイル検索を実現しましょう。