ホームページ > バックエンド開発 > Python チュートリアル > Python でファイルを再帰的に検索する最良の方法は何ですか?

Python でファイルを再帰的に検索する最良の方法は何ですか?

Patricia Arquette
リリース: 2024-12-19 05:34:09
オリジナル
497 人が閲覧しました

What's the Best Way to Recursively Find Files in Python?

さまざまな方法でファイルを再帰的に検索する

ディレクトリ構造内でファイルを再帰的に検索する場合、glob() は最も効率的ではない可能性があります。包括的なアプローチ。この記事では、再帰的なファイル リストを実現するための代替方法について説明します。

pathlib.Path().rglob()

pathlib モジュールでは、pathlib.Path().rglob( )、一致するファイルを再帰的に検索します。例:

from pathlib import Path

for path in Path('src').rglob('*.c'):
    print(path.name)
ログイン後にコピー

glob.glob() with recursive=True

3.5 より前の Python バージョンの場合、glob.glob() は再帰オプションを提供します。例:

from glob import glob

for filename in glob('src/**/*.c', recursive=True):
    print(filename)
ログイン後にコピー

os.walk()

古い Python バージョンの場合、os.walk() と fnmatch.filter() を組み合わせると再帰的検索が可能になります。例:

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))
ログイン後にコピー

os.walk() メソッドはすべてのサブディレクトリを反復処理し、fnmatch.filter() は単純なパターン マッチングを適用します。このアプローチは、pathlib と比較してオーバーヘッドが低いため、大規模なディレクトリの場合により効率的である可能性があります。

以上がPython でファイルを再帰的に検索する最良の方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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