3.1 Datei erstellen
Dateien werden automatisch erstellt, wenn sie im Schreibmodus ('w')
oder im Anhängemodus ('a')
geöffnet werden. Falls die Datei bereits existiert, überschreibt der Modus 'w'
ihren Inhalt, während der Modus 'a'
Daten am Ende der Datei anhängt.
Beispiel für das Erstellen einer Datei
file = open('example.txt', 'w') # Öffnet die Datei zum Schreiben und erstellt sie, falls sie nicht existiert
file.write("This is a new file.\n")
file.close()
In diesem Beispiel wird die Datei example.txt
erstellt (falls sie nicht existiert) und die Zeichenkette "This is a new file.\n"
wird hineingeschrieben.
Es ist möglich, eine komplett leere Datei zu erstellen – einfach die Datei zum Schreiben öffnen und sofort wieder schließen.
Beispiel für das Erstellen einer leeren Datei
file = open('example.txt', 'w')
file.close()
Beachte, dass beim Öffnen einer bestehenden Datei im Schreibmodus ihr gesamter Inhalt gelöscht wird.
3.2 In eine Datei schreiben
Es gibt zwei gängige Methoden, um Daten in eine Datei zu schreiben – write()
und writelines()
.
Methode write()
Die Methode write()
schreibt eine Zeichenkette in die Datei. Wenn die Datei im Schreibmodus ('w')
geöffnet ist, wird ihr Inhalt vor dem Schreiben der neuen Daten gelöscht. Ist die Datei im Anhängemodus ('a')
geöffnet, werden die neuen Daten am Ende der Datei angehängt.
Beispiel für die Verwendung von write()
:
# Datei im Schreibmodus öffnen
file = open('example.txt', 'w')
file.write("Hello, World!\n")
file.write("This is a test file.\n")
file.close()
Methode writelines()
Die Methode writelines()
nimmt eine Liste von Zeichenketten und schreibt diese in die Datei. Sie fügt keine Zeilenumbrüche automatisch hinzu, also musst du sie in den Zeichenketten enthalten.
Beispiel für die Verwendung von writelines()
:
lines = ["First line.\n", "Second line.\n", "Third line.\n"]
# Datei im Schreibmodus öffnen
file = open('example.txt', 'w')
file.writelines(lines)
file.close()
Zeichencodierung der Datei
Du kannst die Zeichencodierung einer Textdatei beim Lesen oder Schreiben angeben. Dies geschieht durch den benannten Parameter encoding
.
Beispiel:
# Datei im Schreibmodus mit UTF-8-Codierung öffnen
file = open('example_utf8.txt', 'w', encoding='utf-8')
file.write("Text in deutscher Sprache.\n")
file.write("More text in UTF-8.\n")
file.close()
Wir werden verschiedene Dateien- und Textcodierungen später besprechen, aber es ist hilfreich, jetzt schon zu wissen, dass dieser Parameter existiert und dir viele Probleme ersparen kann.
3.3 Daten an eine Datei anhängen
Daten an das Ende einer Datei anzuhängen, ist genauso einfach wie Daten in eine Datei zu schreiben. Du musst lediglich den Anhängemodus ('a')
angeben, wenn du die Datei öffnest, und alles andere geschieht automatisch.
Hier sind ein paar Beispiele:
Zeichenketten an das Ende der Datei anhängen
Dieses Beispiel zeigt, wie man eine Datei im Anhängemodus ('a')
öffnet und mehrere Zeichenketten an ihr Ende anhängt.
file = open('example.txt', 'a') # Datei zum Anhängen öffnen
file.write("This is a new line added to the file.\n")
file.write("Another line is appended.\n")
file.close() # Datei schließen
Eine Liste von Zeichenketten an das Ende einer Datei anhängen
Dieses Beispiel zeigt, wie man die Methode writelines()
verwendet, um eine Liste von Zeichenketten an das Ende einer Datei anzuhängen.
lines = [
"Appending first line from list.\n",
"Appending second line from list.\n",
"Appending third line from list.\n"
]
file = open('example.txt', 'a') # Datei zum Anhängen öffnen
file.writelines(lines) # Liste von Zeichenketten anhängen
file.close() # Datei schließen
Zeichenkette mit Angabe der Codierung anhängen
Dieses Beispiel zeigt, wie man eine Datei im Anhängemodus mit Angabe der Codierung (z. B. UTF-8) öffnet und eine Zeichenkette anhängt.
# Datei zum Anhängen mit Codierung öffnen
file = open('example_utf8.txt', 'a', encoding='utf-8')
file.write("Zeichenkette mit UTF-8 angehängt.\n")
file.write("Noch eine Zeichenkette angehängt.\n")
file.close() # Datei schließen
Wie du siehst, ist das sehr einfach.
GO TO FULL VERSION