Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich mit Python effizient nur Dateien in einem Verzeichnis auflisten?
Dateien aus einem Verzeichnis abrufen
Das Abrufen der Dateiliste eines Verzeichnisses ist eine häufige Aufgabe in der Python-Programmierung. Eine Möglichkeit hierfür ist die Verwendung von os.listdir(), das alle Elemente in einem Verzeichnis zurückgibt, einschließlich Dateien und Verzeichnissen.
Ansatz 1: Verwendung von os.path.isfile()
Um nur Dateien aufzulisten, verwenden Sie os.path.isfile():
from os import listdir from os.path import isfile, join mypath = 'path/to/directory' onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
Ansatz 2: Mit os.walk()
os.walk() iteriert über ein Verzeichnis und seine Unterverzeichnisse und gibt für jedes besuchte Verzeichnis ein Tupel zurück. Dieses Tupel enthält drei Listen: eine für Dateien, eine für Verzeichnisse und eine für das aktuelle Verzeichnis selbst.
from os import walk mypath = 'path/to/directory' filenames = next(walk(mypath), (None, None, []))[2] # [] if no files
Dieser Ansatz bietet eine vollständigere Darstellung der Verzeichnisstruktur. Um Dateien nur im aktuellen Verzeichnis aufzulisten, unterbrechen Sie die Schleife nach der ersten Iteration:
from os import walk f = [] for (dirpath, dirnames, filenames) in walk(mypath): f.extend(filenames) break
Das obige ist der detaillierte Inhalt vonWie kann ich mit Python effizient nur Dateien in einem Verzeichnis auflisten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!