Die Schlüsselfunktion für die Arbeit mit Dateien in Python ist die Funktion open()
. Die Funktion "open()" benötigt zwei Parameter: Dateiname und Modus.
Es gibt vier verschiedene Methoden (Modi) zum Öffnen einer Datei:
-
"r"
- Read - Standardwert. Öffnet eine Datei zum Lesen, gibt einen Fehler zurück, wenn die Datei nicht existiert. -
"a"
- Append - Öffnet eine Datei zum Anhängen, erstellt die Datei, wenn sie nicht existiert -
"w"
- Write - Öffnet eine Datei zum Schreiben, erzeugt die Datei, wenn sie nicht existiert -
"x"
- Create - Erzeugt die angegebene Datei, gibt einen Fehler zurück, wenn die Datei bereits existiert.
Zusätzlich kannst du angeben, ob die Datei im Binär- oder Textmodus behandelt werden soll
-
"t"
- Text - Standardwert. Textmodus -
"b"
- Binär - Binärmodus (z. B. Bilder)
Um eine Datei zum Lesen zu öffnen, genügt es, den Namen der Datei anzugeben:
f = open("meineDatei.txt")
Öffnen einer Datei
Angenommen, wir haben die folgende Datei, die sich im gleichen Ordner wie Python befindet:
# meineDatei.txt
Hallo! Willkommen bei Python!
Diese Datei ist für Testzwecke gedacht.
Viel Glück!
Um die Datei zu öffnen, muss die eingebaute Funktion open()
verwendet werden.
Die Funktion open()
gibt ein Dateiobjekt zurück, das über eine read()
-Methode zum Lesen des Dateiinhalts verfügt:
f = open("meineDatei.txt", "r")
print(f.read())
Ausgabe:
C:\Users\Mein Name>python demo_datei_öffnen.py
Hallo! Willkommen bei Python!
Diese Datei ist für Testzwecke gedacht.
Viel Erfolg!
Wenn sich die Datei an einem anderen Ort befindet, muss der Dateipfad angegeben werden:
f = open("D:\\meinedateien\wilkommen.txt", "r")
print(f.read())
Nur Teile der Datei lesen
Standardmäßig gibt die Methode read()
den gesamten Text zurück, aber es lässt sich auch angeben, wie viele Zeichen zurückgeliefert werden sollen.
Gibt die ersten 5 Zeichen der Datei zurück:
f = open("meineDatei.txt", "r")
print(f.read(5))
In eine vorhandene Datei schreiben
Um in eine bereits vorhandene Datei zu schreiben, musst du der Funktion open() einen Parameter hinzufügen:
-
"a"
- Anhängen - fügt an das Ende der Datei an -
"w"
- Schreiben - überschreibt einen vorhandenen Inhalt
Öffne die Datei "meineDatei.txt" und füge den Inhalt an die Datei an:
f = open("meineDatei.txt", "a")
f.write("Jetzt hat die Datei mehr Inhalt!")
f.close()
#öffnet und liest die Datei nach dem Anhängen:
f = open("meineDatei.txt", "r")
print(f.read())
Öffne die Datei " meineDatei.txt" und überschreibe den Inhalt:
f = open("meineDatei.txt", "w")
# mit der Methode "w" wird die gesamte Datei überschrieben
f.write("Huch! Ich habe den Inhalt gelöscht!")
f.close()
#öffnet und liest die Datei nach dem Anhängen:
f = open("meineDatei.txt", "r")
print(f.read())
Erstellen einer neuen Datei
Um eine neue Datei in Python zu erstellen, verwende die Methode open(), mit einem der folgenden Parameter:
-
"x"
- Create - erzeugt eine Datei, gibt einen Fehler zurück, wenn die Datei existiert -
"a"
- Anhängen - erzeugt eine Datei, wenn die angegebene Datei nicht existiert -
"w"
- Write - erstellt eine Datei, wenn die angegebene Datei nicht existiert
Erstelle eine Datei namens " meineDatei.txt":
f = open("meineDatei.txt", "x")
Erstellt eine neue Datei, wenn sie nicht vorhanden ist:
f = open("meineDatei.txt", "w")
Löschen einer Datei
Um eine Datei zu löschen, musst du das OS-Modul importieren und dessen Funktion os.remove() ausführen:
Entfernt die Datei " meineDatei.txt":
import os
os.remove("meineDatei.txt")
Prüfen, ob Datei vorhanden ist
Um eine Fehlermeldung zu vermeiden, lohnt es sich zu prüfen, ob die Datei vorhanden ist, bevor du versuchst, sie zu löschen.
Überprüfe, ob die Datei vorhanden ist, und lösche sie dann:
import os
if os.path.exists("demodatei.txt"):
os.remove("demodatei.txt")
else:
print("Die Datei ist nicht vorhanden")
Ordner löschen
Um einen ganzen Ordner zu löschen, verwende die Methode os.rmdir():
Entfernt den Ordner "meinordner":
import os
os.rmdir("meinordner")
- Hinweis: Es lassen sich nur leere Ordner entfernen.