Unterverzeichnisse in Python auflisten
-
Unterverzeichnisse mit dem Modul
glob
in Python auflisten -
Unterverzeichnisse mit der Funktion
os.scandir()
in Python auflisten -
Unterverzeichnisse mit der Funktion
os.walk()
in Python auflisten
Es gibt drei effektive Methoden, mit denen Sie alle Unterverzeichnisse in einem angegebenen Verzeichnis in Python auflisten können: die Funktion glob.glob(), die Funktion os.scandir() und die Funktion os.walk(). Dieses Tutorial zeigt, wie Sie mit diesen Funktionen arbeiten können, um Unterverzeichnisse in Python aufzulisten.
Unterverzeichnisse mit dem Modul glob
in Python auflisten
Das Modul glob
wird verwendet, um Pfadnamen zu erhalten, die einem bestimmten Muster entsprechen. Wir können die Funktion glob()
innerhalb des Moduls glob
von Python verwenden, um alle Unterverzeichnisse eines angegebenen Hauptverzeichnisses aufzulisten, indem wir /*/
am Ende des Verzeichnispfads angeben. Der folgende Programmausschnitt zeigt uns, wie wir mit dem Modul glob
alle Unterverzeichnisse innerhalb des Hauptverzeichnisses auflisten:
import os
from glob import glob
glob(os.getcwd() + "/*/", recursive=True)
Ausgabe:
['/content/sample_data/', '/content/subdirectory/']
Wir haben alle Unterverzeichnisse unseres aktuellen Arbeitsverzeichnisses mit dem Modul glob
im obigen Code aufgelistet. Der Nachteil dieser Methode besteht darin, dass keine versteckten Verzeichnisse angezeigt werden oder Verzeichnisse, in denen der Verzeichnisname mit einem Punkt .
beginnt; es zeigt nur die unmittelbaren Unterverzeichnisse an.
Unterverzeichnisse mit der Funktion os.scandir()
in Python auflisten
os
ist ein integriertes Modul in Python, das für viele betriebssystembezogene Funktionen wie die Dateispeicherung verwendet werden kann. Mit der os.scandir()
Funktion können alle Unterverzeichnisse eines angegebenen Hauptverzeichnisses aufgelistet werden. Diese Funktion verwendet den Verzeichnispfad als Eingabeparameter und gibt einen Iterator zurück, mit dem Dateien und Verzeichnisse innerhalb des Pfads durchlaufen werden können.
Der folgende Codeausschnitt zeigt uns, wie wir mit der Funktion os.scandir()
alle Unterverzeichnisse innerhalb des Hauptverzeichnisses auflisten:
import os
[f.path for f in os.scandir(os.getcwd()) if f.is_dir()]
Ausgabe:
['/content/.config',
'/content/.ipynb_checkpoints',
'/content/sample_data',
'/content/subdirectory']
Wir haben alle Unterverzeichnisse unseres aktuellen Arbeitsverzeichnisses mit der Funktion os.scandir()
im obigen Code aufgelistet. Dieser Vorgang ist eine Verbesserung gegenüber dem vorherigen Ansatz, da er auch die versteckten Verzeichnisse oder die Verzeichnisse auflistet, deren Verzeichnisname mit einem Punkt .
beginnt. Der einzige Nachteil dieser Methode besteht darin, dass nur die unmittelbaren untergeordneten Verzeichnisse des übergeordneten Hauptverzeichnisses angezeigt werden. Die Unterverzeichnisse innerhalb des Hauptverzeichnisses werden nicht abgerufen.
Unterverzeichnisse mit der Funktion os.walk()
in Python auflisten
Die Funktion os.walk()
ist eine weitere Methode, mit der alle Unterverzeichnisse innerhalb eines einzigen Hauptverzeichnisses in Python aufgelistet werden können. Die Funktion os.walk()
nimmt den Pfad des Hauptverzeichnisses als Eingabeparameter und gibt eine Menge von Tupeln zurück, wobei das erste Element jedes Tupels der Pfad eines Unterverzeichnisses innerhalb des Verzeichnisbaums ist. Dies schließt alle Unterverzeichnisse und deren Unterunterverzeichnisse ein, bis der Verzeichnisbaum endet.
Die Funktion os.walk()
liefert uns auch die versteckten Verzeichnisse oder die Verzeichnisse, in denen der Verzeichnisname mit einem Punkt .
beginnt. Der folgende Codeausschnitt zeigt uns, wie wir mit der Funktion os.walk()
alle Unterverzeichnisse innerhalb eines Hauptverzeichnisses auflisten:
import os
[x[0] for x in os.walk(os.getcwd())]
Ausgabe:
['/content',
'/content/.config',
'/content/.config/logs',
'/content/.config/logs/2021.05.06',
'/content/.config/configurations',
'/content/.ipynb_checkpoints',
'/content/sample_data',
'/content/sample_data/.ipynb_checkpoints',
'/content/sample_data/subsubdirectory',
'/content/subdirectory']
Alle Unterverzeichnisse unseres aktuellen Arbeitsverzeichnisses haben wir mit der Funktion os.scandir()
im obigen Programm aufgelistet. Wie wir sehen können, zeigt die Ausgabe alle Verzeichnisse innerhalb des Verzeichnisbaums. Das Ergebnis enthält auch alle versteckten Verzeichnisse.
Obwohl uns der Ansatz os.walk()
alle Unterverzeichnisse und die Unterverzeichnisse mit allen versteckten Verzeichnissen anzeigt, haben alle oben diskutierten Methoden ihre eigenen einzigartigen Anwendungsfälle und sind in verschiedenen Szenarien hilfreich. Der beste Ansatz unter den von uns besprochenen hängt von dem spezifischen Problem ab, das Sie lösen möchten.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedInVerwandter Artikel - Python Directory
- Python Get-Home-Verzeichnis
- Alle Dateien im Verzeichnis und Unterverzeichnissen in Python auflisten
- Behebung des Fehlers No Such File in Directory in Python
- Verzeichnis aus Pfad in Python extrahieren
- Ausführen eines Befehls für jede Datei in einem Ordner in Python
- Zählen Sie die Anzahl der Dateien in einem Verzeichnis in Python