Beheben Sie OSError: [Errno 2] No Such File or Directory in Python
-
der
OSError: [Errno 2] No Such File or Directory
in Python -
Beheben Sie den
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
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.
LinkedInVerwandter Artikel - Python Error
- Adresse wird bereits verwendet Fehler in Python
- AttributeError: __Exit__ in Python
- AttributeError: 'Dict'-Objekt hat kein Attribut 'Append' in Python
- AttributeError: 'NoneType'-Objekt hat kein Attribut 'Text' in Python
- AttributeError: Int-Objekt hat kein Attribut
- AttributeError: Modul Urllib hat keine Attributanforderung