Heim > Artikel > Backend-Entwicklung > Warum löst Python beim Öffnen von Dateien, die in „os.listdir' aufgeführt sind, einen FileNotFoundError aus?
Python löst FileNotFoundError aus, wenn versucht wird, eine von os.listdir aufgelistete Datei zu öffnen
In Python wird versucht, mit os über Dateien in einem Verzeichnis zu iterieren .listdir kann trotz der Datei einen FileNotFoundError auslösen vorhanden.
Dies liegt daran, dass os.listdir nur den Dateinamen ohne den Verzeichnispfad zurückgibt. Dies führt dazu, dass der Versuch von open, nur über den Dateinamen auf die Datei zuzugreifen, fehlschlägt, da die Datei nicht im aktuellen Verzeichnis gefunden wird.
Um dieses Problem zu beheben, stellen Sie das Verzeichnis mit os.path.join voran Pfad zu jedem Dateinamen, der von os.listdir zurückgegeben wird:
path = r'E:/somedir' for filename in os.listdir(path): with open(os.path.join(path, filename)) as f: # process the file # Ensure file closure
Darüber hinaus ist es ratsam, einen with-Block zu verwenden, um Dateien automatisch zu verarbeiten Schließung.
Das obige ist der detaillierte Inhalt vonWarum löst Python beim Öffnen von Dateien, die in „os.listdir' aufgeführt sind, einen FileNotFoundError aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!