ファイルの再帰的検索: pathlib.rglob()、glob.glob()、および os.walk() の探索
複雑なディレクトリ構造では、ファイルを再帰的に見つけることが不可欠になります。このタスクは、さまざまな Python モジュールとメソッドを使用して簡素化できます。
1 つのアプローチは、Python 3.5 で導入された pathlib.Path().rglob() を利用することです。これにより、簡単な再帰的ファイル検索が可能になります:
from pathlib import Path for path in Path('src').rglob('*.c'): print(path.name)
あるいは、glob.glob() は、再帰的ファイル一覧表示のための別のオプションを提供します:
from glob import glob for filename in glob('src/**/*.c', recursive=True): print(filename)
このメソッドもドット (.) で始まるファイルの一致をサポートします。
古い Python バージョンの場合、または速度が遅い場合重要なのは、os.walk() が信頼性の高いソリューションを提供することです。
import fnmatch import os matches = [] for root, dirnames, filenames in os.walk('src'): for filename in fnmatch.filter(filenames, '*.c'): matches.append(os.path.join(root, filename))
Python のバージョンとパフォーマンス要件に基づいて適切な方法を選択することで、ディレクトリ内でファイルを再帰的に効果的に一覧表示でき、サブディレクトリ。
以上が`pathlib`、`glob`、および `os.walk` を使用して Python でファイルを再帰的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。