ホームページ >バックエンド開発 >Python チュートリアル >Python でサブディレクトリのリスト (すべてまたは即時のみ) を効率的に取得するにはどうすればよいですか?

Python でサブディレクトリのリスト (すべてまたは即時のみ) を効率的に取得するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-02 22:47:12194ブラウズ

How Can I Efficiently Get a List of Subdirectories (All or Just Immediate) in Python?

現在のディレクトリ内のサブディレクトリのリストの取得: 包括的な Python ソリューション

Python で、サブディレクトリの包括的なリストを取得する必要がある場合現在のディレクトリ内のサブディレクトリを使用する場合には、いくつかの効果的なアプローチを使用できます。そのようなアプローチの 1 つは、強力な os.walk 関数の活用です。

os.walk 関数は、入力としてディレクトリを受け取り、その構造を反復的に探索し、各サブディレクトリのトリプル (ディレクトリ名、そのサブディレクトリ、およびディレクトリ) を返します。そのファイル。サブディレクトリ名のみを取得するには、リスト内包表記を使用して各トリプルの最初の要素を抽出します。

subdirectories = [x[0] for x in os.walk(directory)]

このメソッドは、ディレクトリ ツリー全体を再帰的に走査し、以下を含むすべてのサブディレクトリの完全なリストを提供します。

ただし、要件が、より深いレベルにあるサブディレクトリを除き、直接のサブディレクトリの取得に限定されている場合は、

  • os.listdir を利用して現在のディレクトリ内のすべてのファイルとディレクトリを一覧表示し、os.path を使用してディレクトリをフィルタリングして除外できます。 isdir:
immediate_subdirectories = [d for d in os.listdir(".") if os.path.isdir(d)]
  • あるいは、少し簡潔な元の参考資料で示されているように、os.next(os.walk('.'))[1] 式を使用して、直接のサブディレクトリのリストを取得します。

これらの手法を使用すると、効率的に次のことができます。 Python で現在のディレクトリ内のすべてのサブディレクトリまたは直接のサブディレクトリのみのリストを取得し、必要に応じてディレクトリ構造を効率的に移動して操作できるようにします。

以上がPython でサブディレクトリのリスト (すべてまたは即時のみ) を効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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