Heim  >  Artikel  >  Backend-Entwicklung  >  Warum löst Python beim Öffnen von Dateien, die in „os.listdir' aufgeführt sind, einen FileNotFoundError aus?

Warum löst Python beim Öffnen von Dateien, die in „os.listdir' aufgeführt sind, einen FileNotFoundError aus?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-20 16:56:17603Durchsuche

Why Does Python Raise a FileNotFoundError When Opening Files Listed by `os.listdir`?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn