ホームページ > バックエンド開発 > Python チュートリアル > Python でファイルを検索する方法: os.walk とファイル マッチングの包括的なガイド。

Python でファイルを検索する方法: os.walk とファイル マッチングの包括的なガイド。

Mary-Kate Olsen
リリース: 2024-10-29 09:54:30
オリジナル
562 人が閲覧しました

How to Find Files in Python: A Comprehensive Guide to os.walk and File Matching.

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート