Python 3: FileNotFoundError?

7 Antworten

Ein FileNotFoundError tritt auf, wenn die Datei nicht vorhanden ist.

Ich glaube dieser Meldung mehr als Deinen Beteuerungen, dass die Datei existiert.

Öffne zur Kontrolle eine DOS-Box (cmd32, Eingabeaufforderung) und gib dort ein:

dir C:\Users\Max\Desktop\Ordner\hallo.txt

Ich wette, dass das eine Fehlermeldung liefert. Die von Dir gesehene Datei heißt wahrscheinlich "haIIo.txt" (mit zwei großen i) oder "hallo.txt " (mit Leerzeichen) oder "hallo.txt.lnk" (Verknüpfung).

Vielleicht ist sogar das ganze Verzeichnis nur eine Verknüpfung und heißt in Wirklichkeit "Ordner.lnk".

Übrigens ist der Pfadtrenner \ hoffnungslos veraltet. Du brauchst ihn eigentlich nur noch in der DOS-Box. In Python und vielen anderen Sprachen ist \ ein Escape-Zeichen, mit dem man Steuerzeichen eingeben kann (\t=Tabulator, \n=Zeilentrenner, ...). Du hast hier noch mal Glück gehabt, dass \h nicht belegt ist und deshalb stehen bleibt.

Verwende beim Programmieren immer / als Pfadtrenner und achte möglichst auf Groß-/Kleinschreibung, auch wenn das unter MS-Windows ziemlich egal ist.


ralphdieter  24.01.2020, 19:21

Und falls Du mal ein \ in einem String brauchst, schreibe \\. Das funktioniert immer, egal welches Zeichen dahinter folgt.

Was ist da der Fehler in Python3???

Steht doch GENAU da

Dass er die Datei unter dem Pfad nicht finden kann

Und wenn du mal in deinen Dateipfad schaust: überall ist "/", außer vor hallo.txt, da ist es "\"


verreisterNutzer  24.01.2020, 18:19

Habe eine for Schleife gemacht um die Dateien anzuzeigen die in einem Ordner sind und dann eine davon zu löschen. Dann kam der Fehler, obwohl die Datei existiert...

Der richtige Pfad aus meiner Sicht wäre: "C://Users/Max/Desktop/Ordner/hallo.txt"

Du kannst keinen Slash soweit ich weiß in unterschiedliche Richtungen haben.

Es heißt einfach nur:
C:\Users\Max\Desktop\Ordner\hallo.txt
und nicht
C:/Users/Max/Desktop/Ordner\hallo.txt
Woher ich das weiß:Hobby

Offensichtlich ist die Datei nicht da, wo sie erwartet wird.

Überprüfe ggf., ob die Vermischung von / und \ die Ursache des Problems sein könnte.


verreisterNutzer  24.01.2020, 18:19

Habe eine for Schleife gemacht um die Dateien anzuzeigen die in einem Ordner sind und dann eine davon zu löschen. Dann kam der Fehler, obwohl die Datei existiert...

Isendrak  24.01.2020, 18:21
@verreisterNutzer

Wie kommt es denn, dass du in dem Pfad sowohl / als auch \ verwendest?

Versuch erstmal das herauszufinden und dann anzupassen.