python findet txt Datei nicht?
Halloo,
ich bin ganz ganz neu, was Python angeht und lerne es aktuell selber.
Ich habe einen einfachen Befehl geschrieben und wollte das jetzt in Python lesen lassen, aber python findet meine Datei nicht. Kann mir vielleicht jemand helfen und sagen, was ich falsch gemacht habe?
Danke^^
3 Antworten
Wenn das vorkommt ist fast immer die Ursache, dass der Pfad falsch angegeben wurde. Die Pfadangabe passt nicht zum eigentlichen Ort, an dem die Datei liegt.
Stelle auch sicher, dass du die Datei gespeichert hast und dass sie auch wirklich die ".txt"-Endung hat, mit der du sie ja aufzurufen versuchst.
Nur führst du ja kein python-Programm aus, sondern verwendest die Python-Shell. Wo die ihr Arbeitsverzeichnis hat lässt sich nicht sehen.
Mach mal:
import os
os.getcwd()
okay, genauso eingeben oder muss ich in die Klammer den Dateinamen eintippen mit "xx.txt"?
Ne, genau so.
Das erste importiert dir das "os"-Modul. Das zweite gibt dir das Arbeitsverzeichnis der Shell aus.
also bei mir kommt dann: SyntaxError: multiple statements found while compiling a single statement
ahhh sorry jetzt hats geklappt xD bei mir ist das in documents
Das Arbeitsverzeichnis ist das Verzeichnis, in dem die Applikation, hier deine Shell, gerade arbeitet.
Dies ist hier ein wahrscheinlich ein anderes Verzeichnis als das, wo deine Textdatei liegt.
Du hast jetzt mehrere Optionen:
1.) Du wechselst das Arbeitsverzeichnis zu dem Verzeichnis, wo dein Textfile liegt.
2.) Du erstellst den Textfile im Arbeitsverzeichnis.
3.) Du verwendest einen relativen oder absoluten Pfad zum Textfile.
Beispiele kann ich dir geben, wenn du mir die genauen Pfade von deiner Datei und dem Arbeitsverzeichnis gibst.
(Gegebenenfalls mit anonymisiertem Nutzernamen, falls der Pfad deinen Nutzernamen enthält.)
vielen dank! Also ich hab als Arbeitsverzeichnis '/Users/Luna/Documents' und die Textdatei befindet sich auf meinem Mac auf dem "Schreibtisch" (/Users/luna/Desktop)
Zu 1.)
os.chdir('~/Desktop')
oder auch
os.chdir('/Users/Luna/Desktop')
Zu 3.)
Relativer Pfad:
../Desktop/text1.txt
Absoluter Pfade:
/Users/Luna/Desktop/text1.txt
Die Tilde ~ ist gleichbedeutend mit dem Nutzerverzeichnis des verwenders. Die zwei Punkte .. meinen das Elternverzeichnis des aktuellen Verzeichnisses.
danke nochmal! Also ich habe jetzt eingegeben f = open(/Users/Luna/Desktop/text1.txt) als Antwort bekomme ich dann aber SyntaxError: invalid syntax und das / vor users ist dann rot markiert
ahh danke, also jetzt bekomme ich keine Fehlermeldungen mehr. in meiner txt Datei hab ich geschrieben: print("hallo"), müsste das dann nicht erscheinen, weil das tut es irgendwie nicht?
Ne, du öffnest nur den File. Du bekommst quasi ein File-Handel und mit dem kannst du dann wieterarbeiten (z.B. read oder write damit machen).
Und nach dem Verwenden schließt du das Handle wieder.
ahhh okay das wusste ich nicht, alles klar! Danke vielmals für deine Hilfe!!
was ich falsch gemacht habe?
Entweder ist die Datei nicht im gleichen Verzeichnis wie dein Python-Programm oder aber bereits exklusiv geöffnet und damit für andere Programme als deinen Editor gesperrt.
ich hab die text Datei eigentlich geschlossen und im gleichen Ordner wie das python Programm :(
Wenn du unter Linux arbeitest, Versuche mal
./Datei
f = open(./"text1.txt") wäre das dann oder sieht das anders aus?
Erstmal Danke! also ich habe nochmal geguckt und die .txt Datei ist im gleichen Ordner, wo ich auch die Python Dateien habe