Seite 1 von 1

Dateien Öffnen

Verfasst: Dienstag 7. April 2020, 10:25
von WannaBee
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'

Re: Dateien Öffnen

Verfasst: Dienstag 7. April 2020, 10:31
von __deets__
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:

Code: Alles auswählen

import pathlib
BASE = pathlib.Path(__file__).parent

with (BASE / "employees.txt").open("r") as employees_file:
      print(employees_file.read())
Ungetestet.

Re: Dateien Öffnen

Verfasst: Dienstag 7. April 2020, 10:58
von Sirius3
Oder gleich:

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)
obwohl, der Dateiname läßt vermuten, dass man über die Zeilen iterieren will, also doch besser open benutzen.