Wie kann ich die Ausgabe von os.walk() anpassen, um eine rekursive Verzeichnisstruktur in Python zu visualisieren?

Patricia Arquette
Freigeben: 2024-11-06 10:03:02
Original
618 Leute haben es durchsucht

How can I customize the output of os.walk() to visualize a recursive directory structure in Python?

Rekursiver Verzeichnisdurchlauf mit os.walk() in Python

In Python ist die Funktion os.walk() ein leistungsstarkes Werkzeug für Rekursives Durchlaufen von Verzeichnissen und Unterverzeichnissen. Durch die Nutzung seiner Funktionalität können Sie durch Ihr Dateisystem navigieren und effizient auf Dateien und Verzeichnisse zugreifen.

OS.walk() zum Drucken von Verzeichnisstrukturen verwenden

Bedenken Sie Folgendes Code:

import os

for root, dirs, files in os.walk("."):
    print(root)
    print("")
    for items in fnmatch.filter(files, "*"):
        print("..." + items)
    print("")
Nach dem Login kopieren

Dieser Code durchläuft das aktuelle Verzeichnis und druckt die darin enthaltenen Verzeichnisse und Dateien. Die Ausgabe erfolgt jedoch nicht im gewünschten Format: Verzeichnisse und Dateien werden auf die gleiche Weise aufgelistet.

Anpassen der Directory Traversal-Ausgabe

Zum Drucken des Verzeichnisses und Dateistruktur wie gewünscht, wie zum Beispiel:

A
---a.txt
---b.txt
---B
------c.out
Nach dem Login kopieren

wobei A und B Verzeichnisse und der Rest Dateien sind, können Sie den Code wie folgt ändern:

import os

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

Dieser geänderte Code:

  • Teilt den Pfad mithilfe des Trennzeichens os.sep in eine Liste auf, das das Verzeichnistrennzeichen auf dem aktuellen Betriebssystem darstellt.
  • Berechnet den Grad der Einrückung für jeden Eintrag basierend auf Anzahl der Pfadkomponenten minus 1.
  • Verwendet eine Kombination aus Einrückung und dem Basisnamen des Verzeichnisses oder der Datei, um die Struktur im gewünschten Format anzuzeigen.

Durch Anpassen der Einrückung und Verwendung Mit der Funktion „basename“ können Sie die Ausgabe an Ihre spezifischen Anforderungen anpassen. Mit dieser Technik können Sie die Verzeichnishierarchie visualisieren und bequemer auf Dateien und Verzeichnisse zugreifen.

Das obige ist der detaillierte Inhalt vonWie kann ich die Ausgabe von os.walk() anpassen, um eine rekursive Verzeichnisstruktur in Python zu visualisieren?. 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