So erhalten Sie alle Dateien eines Verzeichnisses
- 
          
            
os.listdirum alle Dateien in einem Verzeichnis in Python zu erhalten - 
          
            
os.walkum alle Dateien in einem Verzeichnis in Python zu erhalten - 
          
            
glob.globum alle Dateien in einem Verzeichnis in Python zu erhalten 
Sie könnten mindestens 3 Methoden haben, um alle Dateien eines Verzeichnisses in Python aufzulisten, indem Sie die Python-Funktionen os.listdir, os.walk und glob.glob verwenden.
Im Folgenden wird die Vermutung dieses Tutorials dargelegt,
- Python-Version - Python 3
 - Der Pfadname ist 
dirPathund er existiert im System, daher brauchen wir die Existenz des Verzeichnisses nicht zu überprüfen. 
os.listdir um alle Dateien in einem Verzeichnis in Python zu erhalten
os.listdir listet alle Dateien und Ordner im Verzeichnis auf, daher benötigt es zusätzlichen Code, um Dateien aus dem Ergebnis zu filtern.
import os
dirPath = r"C:\git\DelftStack\content"
result = [f for f in os.listdir(dirPath) if os.path.isfile(os.path.join(dirPath, f))]
print(result)
os.listdir gibt nur den relativen Pfad der Dateien oder Ordner mit Bezug auf dirPath zurück, und die Funktion os.path.isfile benötigt den vollständigen Pfad, um zu prüfen, ob es sich um eine Datei handelt oder nicht. Daher müssen wir os.path.join benutzen, um den dirPath und die Ergebnisse von os.listdir zu kombinieren, um den vollständigen Pfad von entweder Dateien oder Pfaden zu erhalten.
os.walk um alle Dateien in einem Verzeichnis in Python zu erhalten
os.walk generates the file names in the given directory by traversing the tree top-down (per default) or bottom-up. It yields a 3-tuple (dirpath, dirname, filenames) each time it walks to the directory in the tree (including top itself).
Alle Dateien sind im Tupel für die erste Ausbeute von os.walk enthalten, daher ist ein pythonischer Weg
import os
dirPath = r"C:\git\DelftStack\content"
result = next(os.walk(dirPath))[2]
print(result)
glob.glob um alle Dateien in einem Verzeichnis in Python zu erhalten
Das glob Modul findet alle Pfadnamen, die dem angegebenen spezifischen Muster entsprechen, gemäß den in der Unix-Shell verwendeten Regeln. glob.glob gibt die Liste der Pfadnamen zurück, die dem angegebenen Pfadnamensmuster entsprechen. Der Dateipfad hat das Muster *.*, das ist das, was an glob.glob als Eingabeargument übergeben wird.
import glob
dirPathPattern = r"C:\git\DelftStack\content\*.*"
result = glog.glob(dirPathPattern)
print(result)
glob.glob gibt den vollen Pfad der übereinstimmenden Dateien zurück, wie C:\git\DelftStack\content\about.rst.
Das Ergebnis der glob.glob Methode, wie hier gezeigt, kann nicht garantieren, dass es sich um reine Dateien handelt, da nur geprüft wird, ob der Pfadname mit dem Muster übereinstimmt, nicht aber, ob es sich um eine Datei oder ein Verzeichnis handelt.
Wenn zum Beispiel ein Verzeichnis das Namensmuster wie test.test hat, dann wird dieses Verzeichnis auch in das Ergebnis einbezogen.
Wenn Sie sicherstellen müssen, dass die Ausgabe nur Dateien enthält, müssen Sie sie mit der Funktion os.path.isfile überprüfen.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn FacebookVerwandter Artikel - Python File
- Wie man in Python Text an eine Datei anhängt
 - Wie man prüft, ob eine Datei in Python existiert
 - Wie man Dateien mit einer bestimmten Endung nur in Python findet
 - Wie man bestimmte Zeilen aus einer Datei in Python liest
 - Wie man Zeile für Zeile in eine Datei mit Python schreibt
 
