ホームページ > バックエンド開発 > Python チュートリアル > Python を使用してディレクトリ内のすべてのファイルを再帰的に一覧表示するにはどうすればよいですか?

Python を使用してディレクトリ内のすべてのファイルを再帰的に一覧表示するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-19 17:21:10
オリジナル
841 人が閲覧しました

How Can I Recursively List All Files in a Directory Using Python?

ファイルを再帰的に反復する

ディレクトリ構造を再帰的に走査してすべてのファイルをリストすることは、一般的なプログラミングのニーズです。これに関連して、Python でこれを効率的に実行する方法を見てみましょう。

1 つのアプローチは、Python 3.5 で導入された pathlib.Path().rglob() メソッドを使用することです。これは、ディレクトリとそのサブディレクトリ内の特定のパターンに一致するすべてのファイルを識別する便利な方法を提供します。

from pathlib import Path

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

glob モジュールを使用する場合は、その glob() 関数を recursive=True で利用できます。引数:

from glob import glob

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

古い 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() 手法は、pathlib モジュールに関連するオーバーヘッドが低いため、ファイル数が多いシナリオでは高速であることが証明される可能性があります。

どのアプローチを選択しても、これらの方法は、指定したディレクトリとそのサブフォルダー内のファイルを再帰的に識別して一覧表示するのに効果的に役立ちます。

以上がPython を使用してディレクトリ内のすべてのファイルを再帰的に一覧表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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