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)
Parameter | Beschreibung |
---|---|
file | Dateiname ggf. inkl. Pfad |
mode | Modus 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 |
buffering | default = -1 Erlaubte Werte : 0 (nur im Binärmodus) 1 Zeilenweises Buffering > 1 Angabe der Bytes eines Chunks |
encoding | Encoding der Datei, wenn nicht angegeben , dann wird das Standardencoding des Rechners genutzt |
errors | Arbeitsweise , 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 |
newline | Zeilenumbruchzeichen None, ‘ ‘ , \r oder \r\n |
closefd | Wenn False wird der FileDescriptor offengehalten , wenn die Datei geschlossen wird . Default = True |
opener | Angabe 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.
Methode | Beschreibung |
---|---|
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:
Methode | Beschreibung |
---|---|
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()