Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich mit „os.walk()' eine strukturierte Verzeichnisliste mit Tiefenindikatoren in Python erstellen?

Wie kann ich mit „os.walk()' eine strukturierte Verzeichnisliste mit Tiefenindikatoren in Python erstellen?

Mary-Kate Olsen
Freigeben: 2024-11-07 04:31:02
Original
971 Leute haben es durchsucht

How can I use `os.walk()` to create a structured directory listing with depth indicators in Python?

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)
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage