ホームページ >バックエンド開発 >Python チュートリアル >Python でサブフォルダーからファイルを再帰的に取得するにはどうすればよいですか?

Python でサブフォルダーからファイルを再帰的に取得するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-29 23:13:29228ブラウズ

How to Retrieve Files from Subfolders Recursively in Python?

サブフォルダーからファイルを再帰的に取得する

問題ステートメント

サブフォルダーを再帰的に検索しているときに、Python スクリプトで問題が発生しました。特定の拡張子を持つファイル。スクリプトは、見つかったファイルのリストを作成することを目的としていますが、スクリプトによって取得されたサブフォルダーは、見つかったファイルを含むフォルダーを表すのではなく、リスト内にあります。

Solution

この問題を解決するには、subFolder 変数の代わりに、提供されたコードの「root」変数で表される dirpath を使用する必要があります。 dirpath には、検索されたファイルが存在するディレクトリの絶対パスが含まれています。

コード スニペット

次の改訂された Python コードは、dirpath の正しい使用法を示しています。

<code class="python">import os
result = [os.path.join(dp, f) for dp, dn, filenames in os.walk(PATH) for f in filenames if os.path.splitext(f)[1] == '.txt']</code>

この変更を採用すると、コードは効果的にサブフォルダーを再帰的に走査し、目的の拡張子を持つファイルのリストを作成します。各ファイル パスには、それが属するフォルダーが含まれます。

追加オプション

主要なソリューションに加えて、より包括的なオプションを提供するために、glob モジュールまたは Python 3.4 以降の Python の組み込み pathlib モジュールを使用する代替アプローチも提供されます。

結論

この修正されたスクリプトは、指定されたフォルダーとそのサブフォルダー内の指定された拡張子を持つファイルを正確に識別して一覧表示し、Python での再帰的ファイル検索のための堅牢なソリューションを提供します。

以上がPython でサブフォルダーからファイルを再帰的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。