ホームページ  >  記事  >  バックエンド開発  >  Python でディレクトリ構造を一覧表示するには?

Python でディレクトリ構造を一覧表示するには?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-04 02:00:02941ブラウズ

How to List Directory Structures in Python?

Python でのディレクトリ構造のリスト

指定されたディレクトリ内のファイルとディレクトリの包括的なリストを取得することは、Python プログラミングの一般的な要件です。これを効果的に実行する方法は次のとおりです。

階層ファイルとディレクトリのリストの取得

os.walk() 関数は、ディレクトリ ツリーを走査し、その内容の階層リスト。開始ディレクトリを入力として受け取り、ディレクトリ構造内のレベルごとに 3 つのタプルを生成します。

  • dirname: 処理中の現在のディレクトリへの絶対パス。
  • dirnames: リスト現在のディレクトリ内のサブディレクトリのリスト。
  • filenames: 現在のディレクトリ内のファイル名のリスト。

実装例

<code class="python">import os

for dirname, dirnames, filenames in os.walk('.'):
    # Print path to subdirectories first.
    for subdirname in dirnames:
        print(os.path.join(dirname, subdirname))

    # Print path to filenames.
    for filename in filenames:
        print(os.path.join(dirname, filename))

    # Optional: Modify 'dirnames' to skip subdirectories.
    if '.git' in dirnames:
        dirnames.remove('.git')</code>

このコードは、現在の作業ディレクトリ (「.」で表される) を走査し、ディレクトリ ツリー内のすべてのサブディレクトリとファイル名へのフル パスを出力します。デフォルトでは、すべてのサブディレクトリを再帰的に実行します。ただし、ループ内でディレクトリ名リストを変更して、どのサブディレクトリを探索するかを制御できます。

高度な使用法

  • ディレクトリの除外: ディレクトリ名リストは変更できます。トラバーサル パスからディレクトリを削除します。たとえば、.git ディレクトリを除外するには、上の例に示すようにディレクトリ名からディレクトリを削除します。
  • シンボリック リンクのトラバース: デフォルトでは、os.walk() はシンボリック リンクに従います。これを回避するには、followlinks パラメータを False に設定します。
  • ファイル情報の保存: ファイル名とディレクトリ名のタプルを使用して、ファイル サイズや変更時刻などの追加のファイル情報を抽出できます。

以上がPython でディレクトリ構造を一覧表示するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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