Wie kann ich effektiv zwischen Dateien und Verzeichnissen unterscheiden, wenn ich die Funktion os.walk() von Python verwende?

Barbara Streisand
Freigeben: 2024-11-07 21:47:02
Original
467 Leute haben es durchsucht

How can I effectively distinguish between files and directories when using Python's os.walk() function?

Nutzung von Pythons os.walk() für die rekursive Verzeichnisexploration

In Python ist das rekursive Durchlaufen von Verzeichnissen eine entscheidende Aufgabe für Aufgaben wie die Dateiverwaltung und Verzeichnismanipulation. Die vielseitige Funktion os.walk() bietet hierfür eine robuste Lösung.

Beim Navigieren in Verzeichnissen ist es oft wichtig, zwischen Dateien und Verzeichnissen zu unterscheiden. Allerdings stellt die Funktion os.walk() Daten anders dar. Um dieses Problem zu beheben, ist der Einsatz zusätzlicher Tools erforderlich.

Um dies zu veranschaulichen, betrachten Sie den folgenden Codeausschnitt:

import os
import fnmatch

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

Bei der Ausführung gibt dieser Code die Struktur des aktuellen Verzeichnisses aus, gefolgt von Dateien in jedem Verzeichnis. Diese Struktur entspricht jedoch nicht dem gewünschten Format, bei dem Dateien und Verzeichnisse klar unterschieden werden.

Um die gewünschte Ausgabe zu erzielen, ist ein alternativer Ansatz mit einer leicht modifizierten os.walk()-Implementierung erforderlich:

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 überarbeitete Code unterteilt den Stammverzeichnispfad in einzelne Komponenten (Pfad) und zählt die Anzahl der Komponenten, um die Tiefe des aktuellen Verzeichnisses zu bestimmen. Diese Tiefe wird dann verwendet, um den Verzeichnisnamen und die darin enthaltenen Dateien für eine ordnungsgemäße Visualisierung einzurücken. Die endgültige Ausgabe spiegelt daher eine hierarchische Darstellung mit klar getrennten Verzeichnissen und Dateien wider.

Das obige ist der detaillierte Inhalt vonWie kann ich effektiv zwischen Dateien und Verzeichnissen unterscheiden, wenn ich die Funktion os.walk() von Python verwende?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!