Python Keine solche Datei oder Verzeichnis
Dieses Tutorial wird die verschiedenen Szenarien besprechen, in denen diese Art von Fehler auftritt, mögliche Ursachen und Lösungen, um sie zu beheben.
Python FileNotFoundError: [Errno 2] Kein solches Verzeichnis
Der beste Weg, um diese Art von Fehler zu untersuchen, besteht darin, sich den ersten Block der Fehlermeldung anzusehen.
Jeder Fehler, der mit dem Block FileNotFoundError beginnt, bedeutet, dass Python die angegebene Datei nicht finden kann.
Dies zwingt Python dazu, zu beenden, da es den vorhergehenden Code nicht verarbeiten kann, ohne auf die angegebene Datei zuzugreifen.
Es handelt sich um eine integrierte Ausnahme, die vom OS-Modul ausgelöst wird, wenn eine angeforderte Datei oder ein Verzeichnis nicht existiert. Sie können diesen Fehler auch manuell auslösen, aber das ist ein Thema für einen anderen Tag.
HINWEIS: Dieser Fehler tritt nicht bei Vorgängen wie dem Erstellen neuer Dateien oder dem Schreiben von Inhalten in eine nicht vorhandene Datei auf,
Lassen Sie uns ein Beispielszenario betrachten, das den FileNotFoundError auslöst.
from os import listdir
for f in listdir('/non_existing_dir'):
print(f)Im obigen Beispiel beginnen wir damit, die Funktion listdir aus dem Modul os zu importieren. Anschließend drucken wir jede Datei im angegebenen Verzeichnis der Funktion listdir() aus.
Da das Zielverzeichnis nicht existiert, wird Python einen Fehler zurückgeben:
#WindowsDateiNichtGefundenFehler: [WinError 3] Das System kann den angegebenen Pfad nicht finden: '/non_existing_dir'
Unix
FileNotFoundError: [Errno 2] No such file or directory: '/non_existing_dir'Wie Sie sehen können, schlägt der Code fehl, da Python das angegebene Verzeichnis nicht finden kann.
Mögliche Ursachen
Es gibt drei Hauptursachen für den FileNotFoundError in Python.
- Das Verzeichnis oder der Dateiname wurde falsch geschrieben.
- Falscher Dateipfad oder Verzeichnispfad
- Verwendung relativer Pfade.
Lösungen
Die Lösungen sind einfach.
- Stellen Sie sicher, dass der vollständige Dateiname und der Verzeichnisname korrekt geschrieben sind, einschließlich der Erweiterung.
- Zweitens sollten Sie immer sicherstellen, dass der von Ihnen angegebene Pfad existiert und zugänglich ist.
- Python wird relative Pfade nicht auflösen. Verwenden Sie beispielsweise anstelle des Tildenzeichens (~), um Ihr Heimatverzeichnis anzugeben, den absoluten Pfad wie /home/benutzername.
In unserem obigen Beispiel können wir den FileNotFoundError beheben, indem wir das Zielverzeichnis wie folgt erstellen:
mkdir /non_existing_dirWir können den Code dann wie folgt erneut ausführen:
sudo python3 file.py
Das Programm sollte die Dateien und das Verzeichnis in diesem Verzeichnis wie folgt zurückgeben:
faillog
apt
bootstrap.log
journal
fontconfig.log
wtmp
lastlog
postgresql
sysstat
unattended-upgrades
btmp
dpkg.log
alternatives.logFazit
In diesem Artikel haben wir besprochen, wie man den Python-Fehler 'No Such File Or Directory' behebt und wie man ihn löst.
Viel Spaß beim Programmieren!!