Heim >Backend-Entwicklung >Python-Tutorial >Warum löst „open()' in Python einen „FileNotFoundError' aus und wie kann ich das beheben?

Warum löst „open()' in Python einen „FileNotFoundError' aus und wie kann ich das beheben?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-04 03:22:39320Durchsuche

Why Does `open()` in Python Throw a `FileNotFoundError`, and How Can I Fix It?

Auflösen von „open() gibt FileNotFoundError / IOError“ für nicht vorhandene Dateien

Beim Versuch, Dateien mit der open()-Funktion in Python zu laden, kann es zu einem „ FileNotFoundError / IOError“-Fehler mit der Meldung „[Errno 2] Keine solche Datei oder kein solches Verzeichnis.“ Dieser Fehler weist darauf hin, dass das Skript die angegebene Datei nicht finden kann.

Um der Grundursache auf den Grund zu gehen, ist es wichtig zu verstehen, wie Python Dateien findet:

  • Absoluter Pfad : Beginnt mit dem Stammverzeichnis des Computers, z. B. „C:Pythonscripts“ in Windows.
  • Relativer Pfad: Beginnt nicht mit dem Stammverzeichnis und ist relativ zum „Arbeitsverzeichnis“.

Bei Verwendung von open('recentlyUpdated. yaml‘) geht Python von einem relativen Pfad aus und sucht innerhalb des aktuellen Arbeitsverzeichnisses. So diagnostizieren Sie das Problem:

  • Überprüfen Sie das Vorhandensein der Datei: Verwenden Sie os.listdir(), um Dateien im aktuellen Arbeitsverzeichnis aufzulisten und sicherzustellen, dass die Datei mit der richtigen Erweiterung vorhanden ist.
  • Aktuelles Verzeichnis bestätigen: Verwenden Sie os.getcwd(), um das erwartete Verzeichnis zu überprüfen, da von einer IDE gestarteter Code möglicherweise ein anderes Verzeichnis hat Arbeitsverzeichnis.

Lösungen:

  1. Aktuelles Arbeitsverzeichnis ändern: Verwenden Sie os.chdir(dir), um zu dem Verzeichnis zu navigieren, das die Datei enthält. Öffnen Sie es dann mit open("file.txt").
  2. Absoluten Pfad angeben: Geben Sie im Open-Aufruf den vollständigen Pfad zur Datei an, z. B. open(r'C:Folderfile.txt').

Hinweis:

  • Verwenden Sie Rohzeichenfolgen ( r"") für Pfade mit Backslashes, z. B. r'C:Python32'.
  • Schrägstriche funktionieren unter Windows „C:/Python32“ und erfordern kein Escapezeichen.
  • Beispiel: Angenommen, file.txt befindet sich in C :Ordner, Sie können ihn öffnen als:

    • os.chdir(r'C:Folder')
      open('file.txt') # relativer Pfad
    • open(r'C:Folderfile. txt') # absoluter Pfad

Das obige ist der detaillierte Inhalt vonWarum löst „open()' in Python einen „FileNotFoundError' aus und wie kann ich das beheben?. 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