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.

0
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 "\"

Muenze3006co 
Fragesteller
 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...

0

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.

Muenze3006co 
Fragesteller
 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...

0
Isendrak  24.01.2020, 18:21
@Muenze3006co

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

Versuch erstmal das herauszufinden und dann anzupassen.

0