Du liest:
Python open: Dateien in Python öffnen

Python open: Dateien in Python öffnen

von Patrick
02.06.2020
Jetzt Python programmieren lernen

Oftmals müssen wir Daten in Dateien speichern oder aus diesen laden. Für diesen Zweck gibt es die eingebaute Python open Funktion.

1. Mit Python open Dateien öffnen

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')

2. In Dateien schreiben

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.

3. Dateien in Python lesen

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())
0: Hi.
1: Hi.
2: Hi.
3: Hi.
4: Hi.
5: Hi.
6: Hi.
7: Hi.
8: Hi.
9: Hi.

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)

4. Fazit – Die Python open Funktion

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!



Bislang gibt es keine Kommentare. Markier dein Revier und sei der Erste!

Schreibe einen Kommentar

Das könnte dich auch interessieren