Python3 – Teil 7 Dateiverarbeitung

Erwartete Lesezeit: 3 minuten

In diesem Beitrag beschäftigen wir uns kurz mit der Dateiverarbeitung.
Um aus Dateien lesen oder Dateien schreiben zu können müssen wir die Datei erstmal öffnen.
Dieses machen wir über die open() Anweisung.
Die Methode kann hat die folgenden Parameter:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
ParameterBeschreibung
fileDateiname ggf. inkl. Pfad
modeModus in dem die Datei geöffnet wird. Wenn keine Angabe gemacht wird , wird die Datei mit lesendem Zugriff gelesen:
r = lesender Zugriff
w = schreibender Zugriff , die Ausgabedatei wird beim öffnen geleert, wenn sie bereits vorhanden ist
x = öffnet die Datei zum exklusiven Anlegen. Wenn die Datei existiert , wird ein Fehler geworfen
a = schreibender Zugriff. Die neuen Daten werden , wenn die Datei bereits existiert , angehangen
b = binärer Modus
t = Textmodus (default)
+ = Update = Lesender und Schreibender Zugriff
bufferingdefault = -1
Erlaubte Werte :
0 (nur im Binärmodus)
1 Zeilenweises Buffering
> 1 Angabe der Bytes eines Chunks
encodingEncoding der Datei, wenn nicht angegeben , dann wird das Standardencoding des Rechners genutzt
errorsArbeitsweise , wenn beim Codieren bzw. Decodieren Fehler auftreten
Erlaubte Werte :
None
strict = Tritt ein Fehler auf , wird ein ValueError geworfen
ignore = Fehler werden ignoriert
replace = Fehlerhafte Zeichen werden z.B. gegen ein ? ausgetauscht
Mehr Werte siehe https://docs.python.org/3/library/functions.html#open
newlineZeilenumbruchzeichen None, ‘ ‘ , \r oder \r\n
closefdWenn False wird der FileDescriptor offengehalten , wenn die Datei geschlossen wird . Default = True
openerAngabe eines angepassten Openers für die Datei

Hier ein Beispiel :

""" Lesender Zugriff """
i=open('input.txt')
""" Schreibender Zugriff """
f=open('test.txt','w')
""" Schreibender Zugriff Encoding UTF-8
utf8=open('testutf8.txt','w',encoding='UTF-8')

Daten lesen

Um die Daten aus einer Datei zu lesen gibt es die folgenden Methoden nach dem öffnen der Datei.

MethodeBeschreibung
read()Liest die gesamte Datei
readline()Liest die nächste Zeile aus der Datei
readlines(x)Liest die nächsten x Zeilen aus der Datei. Wenn nichts angegeben , werden alle Zeilen gelesen Rückgabe ist eine Liste
read(x)Liest die nächsten x Zeichen aus der Datei

Daten schreiben

Zum Schreiben von Daten in eine Datei stehen die folgenden Methoden zur Verfügung:

MethodeBeschreibung
write(str)Schreibt den String in die Datei. Zeilenumbrüche müssen selber vorgenommen werden.
writeLines(Iterable)Schreibt den Inhalt von Listen, Tuples, Sets in die Datei

Dateien schließen

Zu einem guten Codierstil gehört es die Dateien , wenn sie nicht mehr im Zugriff sein sollen zu schließen.
Dieses können wir in Python über die close() Methode erreichen.

f = open('test.txt','r')
....
f.close()