Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich mit „os.walk()' eine strukturierte Verzeichnisliste mit Tiefenindikatoren in Python erstellen?
Rekursives Navigieren in Verzeichnissen mit os.walk() in Python
Um strukturiertere Verzeichnislisten zu erstellen, versuchte ein Entwickler, seinen Code zu ändern um Verzeichnisse als großgeschriebene Titel mit gestrichelten Linien anzuzeigen, die die Tiefe und die Dateien darunter anzeigen. Ihr erster Ansatz führte jedoch zu unvollständigen Ergebnissen.
Um dieser Herausforderung zu begegnen, können wir das os.sep-Attribut von Python verwenden, um die Pfadkomponenten korrekt abzugrenzen. Hier ist eine verbesserte Lösung:
#!/usr/bin/python import os # traverse root directory, and list directories as dirs and files as files for root, dirs, files in os.walk("."): path = root.split(os.sep) print((len(path) - 1) * '---', os.path.basename(root)) for file in files: print(len(path) * '---', file)
In diesem überarbeiteten Code teilen wir den Pfad mit os.sep als Trennzeichen auf, das sowohl Windows- als auch Unix-Dateisysteme unterstützt. Durch Subtrahieren von 1 von der Länge des Pfads können wir die Tiefe der aktuellen Ebene ermitteln und die entsprechende Anzahl gestrichelter Linien anzeigen.
Das obige ist der detaillierte Inhalt vonWie kann ich mit „os.walk()' eine strukturierte Verzeichnisliste mit Tiefenindikatoren in Python erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!