Alle Dateien im Verzeichnis und Unterverzeichnissen in Python auflisten
-
Verwenden Sie
os.walk()
, um alle Dateien im Verzeichnis und den Unterverzeichnissen in Python aufzulisten -
Verwenden Sie
listdir()
, um alle Dateien im Verzeichnis und den Unterverzeichnissen in Python aufzulisten -
Verwenden Sie
glob
, um alle Dateien im Verzeichnis und den Unterverzeichnissen in Python aufzulisten
Python bietet viele Möglichkeiten, auf eine Liste von Dateien in einem Verzeichnis und Unterverzeichnissen zuzugreifen. Dieser Leitfaden führt Sie durch die Bereiche os.walk()
, listdir()
und glob
.
Verwenden Sie os.walk()
, um alle Dateien im Verzeichnis und den Unterverzeichnissen in Python aufzulisten
Das os
-Modul in Python bietet eine Möglichkeit, mit dem Betriebssystem zu interagieren. Es hat viele eingebaute Funktionen, die sich mit dem Dateisystem befassen.
Mit diesem Modul können wir die Verzeichnisse abrufen, erstellen, entfernen und ändern. walk()
ist eine rekursive Methode, die die Dateinamen in einem Verzeichnisbaum generiert, indem sie entweder von oben nach unten oder von unten nach oben geht.
Im folgenden Code haben wir die Dateien im Verzeichnis und den Unterverzeichnissen von MyFolder
angezeigt. In unserem Fall befindet sich dieser Ordner im Home-Verzeichnis der Python-Umgebung.
Beispielcode:
import os
root = "MyFolder"
for path, subdirs, files in os.walk(root):
for name in files:
print(os.path.join(path, name))
Ausgabe:
MyFolder\text_file1.txt
MyFolder\text_file2.txt
MyFolder\SubFolder1\text_file3.txt
MyFolder\SubFolder1\text_file4.txt
Verwenden Sie listdir()
, um alle Dateien im Verzeichnis und den Unterverzeichnissen in Python aufzulisten
Im folgenden Code durchlaufen wir den Verzeichnisbaum und greifen auf seine Dateien und Unterdateien zu, ohne die walk
-Methode zu verwenden. Als Ausgangspunkt haben wir den Stammordner MyFolder
angegeben.
Dann haben wir mit listdir()
auf die Verzeichnisse und Unterverzeichnisse dieses Ordners zugegriffen und sie in items gespeichert. Wir haben die Itemnamen mit dem vorherigen Pfad verkettet und mit der Methode isdir()
geprüft, ob es sich um ein Verzeichnis handelt.
Wenn dies der Fall ist, werden wir dieses Verzeichnis weiter durchsuchen und dasselbe Verfahren anwenden. Wir haben den Dateinamen an den vorherigen Pfad angehängt, wenn es sich um einen Dateinamen handelt, und sie angezeigt.
Beispielcode:
import os
root = "MyFolder"
files = []
walk = [root]
while walk:
folder = walk.pop(0) + "/"
items = os.listdir(folder) # items = folders + files
for i in items:
i = folder + i
(walk if os.path.isdir(i) else files).append(i)
print(files)
Ausgabe:
['MyFolder/text_file1.txt', 'MyFolder/text_file2.txt', 'MyFolder/SubFolder1/text_file3.txt', 'MyFolder/SubFolder1/text_file4.txt']
Verwenden Sie glob
, um alle Dateien im Verzeichnis und den Unterverzeichnissen in Python aufzulisten
Der glob
ist ein eingebautes Modul in Python, das für global
steht. Dieses Modul gibt alle Dateipfade zurück, deren Name und Erweiterung einem bestimmten Muster entsprechen.
Hier haben wir *.*
verwendet, was auf jeden Dateinamen mit beliebiger Erweiterung hinweist. Wir verwenden glob.glob()
, um Dateien rekursiv in einem Verzeichnis oder einem Unterverzeichnis zu finden.
Das Muster **
stimmt mit allen Dateien und null oder mehr Ordnern und Unterverzeichnissen überein, wenn rekursiv auf True
gesetzt ist.
Beispielcode:
import glob
path = "MyFolder\**\*.*"
for file in glob.glob(path, recursive=True):
print(file)
Ausgabe:
MyFolder\text_file1.txt
MyFolder\text_file2.txt
MyFolder\SubFolder1\text_file3.txt
MyFolder\SubFolder1\text_file4.txt
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn