Python でのファイルの検索
ディレクトリ ツリー内の特定のファイルの検索は、プログラミングにおける一般的なタスクです。 Python では、これは os.walk 関数を使用して実現できます。
os.walk の使用
os.walk は、ディレクトリをトラバースするための強力なツールです。パスを引数として受け取り、見つかったディレクトリ、サブディレクトリ、ファイルごとにタプルを生成します。タプルの最初の要素はディレクトリへの絶対パス、2 番目の要素はサブディレクトリのリスト、3 番目の要素はファイルのリストです。
単一ファイルの検索
ディレクトリ ツリー内で特定のファイルを検索するには、os.walk の結果を反復処理します。ファイルが見つかったら、そのパスを返すことができます:
<code class="python">import os def find(name, path): for root, dirs, files in os.walk(path): if name in files: return os.path.join(root, name)</code>
すべての一致の検索
指定された名前に一致するすべてのファイルを検索する必要がある場合は、次のコマンドを実行できます。 find を変更して結果をリストに収集します:
<code class="python">def find_all(name, path): result = [] for root, dirs, files in os.walk(path): if name in files: result.append(os.path.join(root, name)) return result</code>
一致するファイル パターン
また、fnmatch を使用してパターンに一致するファイルを検索することもできます:
<code class="python">import os, fnmatch def find(pattern, path): result = [] for root, dirs, files in os.walk(path): for name in files: if fnmatch.fnmatch(name, pattern): result.append(os.path.join(root, name)) return result find('*.txt', '/path/to/dir')</code>
以上がPython でファイルを検索する方法: os.walk とファイル マッチングの包括的なガイド。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。