Heim  >  Artikel  >  Backend-Entwicklung  >  Wie liste ich Verzeichnisstrukturen in Python auf?

Wie liste ich Verzeichnisstrukturen in Python auf?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-04 02:00:02989Durchsuche

How to List Directory Structures in Python?

Auflisten von Verzeichnisstrukturen in Python

Das Erhalten einer umfassenden Liste von Dateien und Verzeichnissen innerhalb eines bestimmten Verzeichnisses ist eine häufige Anforderung bei der Python-Programmierung. So erreichen Sie dies effektiv:

Erhalten einer hierarchischen Datei- und Verzeichnisliste

Die Funktion os.walk() bietet eine leistungsstarke Methode zum Durchlaufen und Generieren eines Verzeichnisbaums eine hierarchische Auflistung seiner Inhalte. Es nimmt ein Startverzeichnis als Eingabe und liefert drei Tupel für jede Ebene innerhalb der Verzeichnisstruktur:

  • Verzeichnisname: Der absolute Pfad zum aktuell verarbeiteten Verzeichnis.
  • Verzeichnisnamen: Eine Liste von Unterverzeichnissen im aktuellen Verzeichnis.
  • Dateinamen: Eine Liste von Dateinamen im aktuellen Verzeichnis.

Beispielimplementierung

<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>

Dieser Code durchläuft das aktuelle Arbeitsverzeichnis (dargestellt durch „.“) und gibt den vollständigen Pfad zu allen Unterverzeichnissen und Dateinamen innerhalb des Verzeichnisbaums aus. Standardmäßig erfolgt eine Rekursion in alle Unterverzeichnisse. Sie können jedoch die Liste der Verzeichnisnamen innerhalb der Schleife ändern, um zu steuern, welche Unterverzeichnisse durchsucht werden.

Erweiterte Verwendung

  • Verzeichnisse ausschließen: Die Liste der Verzeichnisnamen kann geändert werden um Verzeichnisse aus dem Traversalpfad zu entfernen. Um beispielsweise .git-Verzeichnisse auszuschließen, können Sie sie wie im obigen Beispiel gezeigt aus Verzeichnisnamen entfernen.
  • Symbolische Links durchlaufen: Standardmäßig folgt os.walk() symbolischen Links. Um dies zu vermeiden, setzen Sie den Parameter followlinks auf False.
  • Speichern von Dateiinformationen: Die Dateinamen- und Verzeichnisnamen-Tupel können verwendet werden, um zusätzliche Dateiinformationen zu extrahieren, wie z. B. Dateigröße und Änderungszeit.

Das obige ist der detaillierte Inhalt vonWie liste ich Verzeichnisstrukturen in Python auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn