ファイルの場所がシステムごとに異なる場合、Python でファイルを検索するのが困難になることがあります。幸いなことに、Python には、ディレクトリを横断してファイルを簡単に見つけることができる os.walk モジュールが用意されています。
os.walk for File Search
os.walk はジェネレーターを作成します。ディレクトリとそのサブディレクトリを反復処理し、反復ごとに 3 つのタプルを生成するオブジェクト:
単一ファイルの検索
検索するには特定のファイルが最初に出現した場合は、生成されたタプルを反復処理して、ファイル名がファイルのリストにあるかどうかを確認します:
import os
def find(name, path):
for root, dirs, files in os.walk(path):
if name in files:
return os.path.join(root, name)
ファイルの出現箇所をすべて検索
ファイルの出現箇所をすべて検索するには、一致を保存するリストを作成します:
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
一致するファイル パターン
パターンに一致するファイルを検索するには、fnmatch モジュールを使用します:
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')
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3