ホームページ > バックエンド開発 > Python チュートリアル > `pathlib`、`glob`、および `os.walk` を使用して Python でファイルを再帰的に検索するにはどうすればよいですか?

`pathlib`、`glob`、および `os.walk` を使用して Python でファイルを再帰的に検索するにはどうすればよいですか?

DDD
リリース: 2024-12-11 20:16:15
オリジナル
311 人が閲覧しました

How Can I Recursively Find Files in Python Using `pathlib`, `glob`, and `os.walk`?

ファイルの再帰的検索: 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 サイトの他の関連記事を参照してください。

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