Heim >Backend-Entwicklung >Python-Tutorial >Wie liste ich einen Verzeichnisbaum in Python mit os.walk auf?

Wie liste ich einen Verzeichnisbaum in Python mit os.walk auf?

Susan Sarandon
Susan SarandonOriginal
2024-10-30 22:23:02729Durchsuche

How to List a Directory Tree in Python using os.walk?

Auflisten eines Verzeichnisbaums in Python

Das Manipulieren von Dateien und Verzeichnissen ist eine häufige Aufgabe in der Programmierung. In Python ist es einfach, mit der Funktion os.walk eine Liste aller Dateien und Verzeichnisse in einem bestimmten Verzeichnis abzurufen.

Dateien und Verzeichnisse mit os.walk abrufen

Die Funktion os.walk verwendet einen Verzeichnispfad als Eingabe und gibt ein Generatorobjekt zurück, das für jedes gefundene Verzeichnis ein Tupel liefert. Das Tupel enthält drei Elemente:

  • Verzeichnisname: Der Pfad des aktuellen Verzeichnisses.
  • Verzeichnisnamen: Eine Liste der Unterverzeichnisse im aktuellen Verzeichnis.
  • Dateinamen: A Liste der Dateien im aktuellen Verzeichnis.

Hier ist ein Beispiel für die Verwendung von os.walk zum Auflisten eines Verzeichnisbaums:

<code class="python">import os

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

    # Print path to all filenames.
    for filename in filenames:
        print(os.path.join(dirname, filename))</code>

Dieser Code durchläuft den Verzeichnisbaum beginnend aus dem aktuellen Verzeichnis (dargestellt durch '.') und geben Sie den Pfad zu jedem Unterverzeichnis und jeder Datei aus, auf die es stößt.

Erweiterte Verwendung

Die Funktion os.walk ermöglicht dies ebenfalls Sie können steuern, wie der Verzeichnisbaum durchlaufen wird. Sie können beispielsweise die Liste der Verzeichnisnamen während der Iteration bearbeiten, um zu verhindern, dass os.walk in bestimmte Verzeichnisse rekursiert.

Im folgenden Beispiel vermeidet der Code die Rekursion in Verzeichnisse mit dem Namen .git:

<code class="python">if '.git' in dirnames:
    # Don't go into any .git directories.
    dirnames.remove('.git')</code>

Diese Vielseitigkeit macht os.walk zu einem leistungsstarken Werkzeug für die Arbeit mit Verzeichnisbäumen in Python.

Das obige ist der detaillierte Inhalt vonWie liste ich einen Verzeichnisbaum in Python mit os.walk 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