Hi Leute,
ich lerne gerade Python. Mein Problem ist das Python einen einfache text Datei nicht lesen möchte. Ich schreibe folgenden Code und habe die text Datei im gleichen Ordner abgelegt:
file1 = open("employees.txt", "r")
print(file1.read())
Fehler:
Traceback (most recent call last):
File "/Users/apple/PycharmProjects/hellow world /app.py", line 3, in <module>
file1 = open("employees.txt", "r")
FileNotFoundError: [Errno 2] No such file or directory: 'employees.txt'
Dateien Öffnen
Mal abgesehen von schlechten Namen (file1 - warum nicht employees_file?) und das du das with-statement benutzen solltest, um Dateien sauber zu oeffnen und zu schliessen, unterliegst du einem Fehlschluss: relative Pfadnamen wie deiner werden NICHT relativ zum Skript oder Modul das du ausfuehrst aufgeloest. Sondern relativ zum Arbeitsverzeichnis. Und das hat deine IDE offensichlich irgendwohin gestellt.
Ein weg das zu machen ist sich ueber die __file__-Variable dahin zu hangeln:
Ungetestet.
Ein weg das zu machen ist sich ueber die __file__-Variable dahin zu hangeln:
Code: Alles auswählen
import pathlib
BASE = pathlib.Path(__file__).parent
with (BASE / "employees.txt").open("r") as employees_file:
print(employees_file.read())
Oder gleich:
obwohl, der Dateiname läßt vermuten, dass man über die Zeilen iterieren will, also doch besser open benutzen.
Code: Alles auswählen
form pathlib import Path
BASE = Path(__file__).parent
text = (BASE / "employees.txt").read_text(encoding='ASCII') # oder was auch immer die Datei für ein Encoding hat
print(text)