veröffentlicht am: 02.06.2020 zuletzt aktualisiert am: 02.02.2023
Oftmals müssen wir Daten in Dateien speichern oder aus diesen laden. Für diesen Zweck gibt es die eingebaute Python open Funktion.
Die eingebaute Funktion open verfügt über einige Parameter. Allerdings werde ich hauptsächlich die ersten Beiden erläutern, da diese die Wichtigsten sind. Der Erste ist der Name oder Pfad der Datei, die geöffnet werden soll. Der Zweite ist der Modus, in dem mit der Datei gearbeitet werden soll.
datei = open('datei.txt', 'w')
Mit dem Modus ‚w‘ kannst du in Dateien schreiben. Zudem wird die angegebene Datei erstellt, wenn sie nicht bereits existiert. Allerdings solltest du daran denken, die Datei mit der Methode close des Objekts wieder zu schließen.
datei.close()
Du kannst open stattdessen auch mit dem Schlüsselwort with benutzen, dann wird die Datei automatisch nach dem Codeblock geschlossen.
with open('datei.txt', 'w') as datei: pass print(datei.closed) # True
Weiterhin kannst du den Parameter encoding setzen, um die Codierung der Datei anzugeben.
datei = open('datei.txt', 'r', encoding='utf-8')
Wie bereits zuvor erwähnt, kannst du mit dem Modus w in Dateien schreiben. Dafür kannst du die Methode write des Dateiobjektes verwenden.
with open('datei.txt', 'w') as datei: for i in range(5): datei.write(f'{i}: Hi.\n')
0: Hi. 1: Hi. 2: Hi. 3: Hi. 4: Hi.
Allerdings wird mit w die Datei jedes Mal überschrieben. Wenn du stattdessen Zeilen hinzufügen willst, kannst du den Modus a verwenden.
with open('datei.txt', 'a') as datei: for i in range(5, 10): datei.write(f'{i}: Hi.\n')
0: Hi. 1: Hi. 2: Hi. 3: Hi. 4: Hi. 5: Hi. 6: Hi. 7: Hi. 8: Hi. 9: Hi.
Um Dateien nur zu lesen, kannst du den Modus r angeben. Genau genommen könntest du den Modus komplett weglassen, da r der Standardwert dafür ist. Dazu kannst du die Methode read des Dateiobjektes verwenden.
with open('datei.txt', 'r') as datei: print(datei.read())
Um Dateien Zeile für Zeile zu lesen kannst du readlines verwenden.
with open('datei.txt', 'r') as datei: for line in datei.readlines(): print(line)
Mit der eingebauten Funktion open ist es einfach, neue Dateien zu erstellen. Auch das lesen und schreiben von und in diese Dateien ist mit den verschiedenen Modi sehr einfach. Für eine vollständige Übersicht über alle unterstützten Modi und Parameter von open, sieh dir bitte diesen Abschnitt der Dokumentation an. (https://docs.python.org/3/library/functions.html#open)
Wenn du noch Fragen, Kommentare, Anregungen oder Anmerkungen hast, dann schreib es bitte in die Kommentare!
😩 Gelangweilt von den Udemy & YouTube-Tutorials?!
Lerne spielerisch Python und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.
"Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."
- Lennart Sparbier
100% kostenlos registrieren · keine Kreditkarte notwendig
Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.
100% kostenlos registrieren · keine Zahlungsdaten notwendig