Beheben Sie OSError: [Errno 2] No Such File or Directory in Python

Fariba Laiq 21 Juni 2023
  1. der OSError: [Errno 2] No Such File or Directory in Python
  2. Beheben Sie den OSError: [Errno 2] No Such File or Directory in Python
Beheben Sie OSError: [Errno 2] No Such File or Directory in Python

Beim Ausführen eines Programms in Python treten häufig Fehler auf. Dieser Artikel behandelt den OSError: [Errno 2] No such file or directory in Python.

der OSError: [Errno 2] No Such File or Directory in Python

Dieser OSError: [Errno 2] No such file or directory wird von der OS-Bibliothek generiert. Dieser Fehler tritt auf, wenn die Datei oder das Verzeichnis, auf das wir zugreifen möchten, nicht verfügbar ist.

Dies geschieht aus zwei wesentlichen Gründen. Entweder existiert die Datei oder der Ordner, die wir zu öffnen versuchen, nicht, oder wir geben den falschen Pfad dieser Datei oder dieses Ordners ein.

Python löst diesen Fehler aus, um den Benutzer darüber zu informieren, dass es das Programm nicht weiter ausführen kann, ohne auf die Datei zuzugreifen, auf die im Programm verwiesen wird. In Python Version 3 erhalten wir den FileNotFoundError: [Errno 2] No such file or directory.

Dieser Fehler ist eine Unterklasse von OSError, und wir führen diesen Code auf Ubuntu OS aus.

Beispielcode:

# Python 3.x
import os
import sys

os.chdir(os.path.dirname(sys.argv[0]))

Wir erhalten die folgende Ausgabe, wenn wir das Skript mit python mycode.py ausführen.

Ausgang:

#Python 3.x
Traceback (most recent call last):
  File "mycode.py", line 3, in <module>
    os.chdir(os.path.dirname(sys.argv[0]))
FileNotFoundError: [Errno 2] No such file or directory: ''

Beheben Sie den OSError: [Errno 2] No Such File or Directory in Python

Wenn wir keinen Pfad angeben, greift sys.argv[0] auf mycode.py zu und os.path.dirname kann den Pfad nicht bestimmen. Wir können das folgende Skript ausführen, um den Fehler mit dem Befehl python ./mycode.py zu beheben.

# Python 3.x
import os
import sys

os.chdir(os.path.dirname(sys.argv[0]))
print("Hello")

Ausgang:

#Python 3.x
Hello

Eine alternative Möglichkeit, diesen Fehler zu beheben, besteht darin, den obigen Code auf die folgende Weise zu schreiben. Da sys.argv[0] nur ein Skriptname und kein Verzeichnis ist, gibt os.path.dirname() nichts zurück.

Dieser wird mit os.path.abspath() in einen korrekten absoluten Pfad mit Verzeichnisnamen umgewandelt. Wir führen den folgenden Code mit dem Befehl python mycode.py aus.

# Python 3.x
import os
import sys

os.chdir(os.path.dirname(os.path.abspath(sys.argv[0])))
print("Hello")

Ausgang:

#Python 3.x
Hello
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

Verwandter Artikel - Python Error