Dateien einlesen und bearbeiten

Dateien einlesen und bearbeiten mit Python

Es gibt mehrere Möglichkeiten eine Datei einzulesen und zu bearbeiten.

#input file
fin = open("wolf.txt", "rt",-1,"UTF-8")
#output file to write the result to
fout = open("out.txt", "wt")
#for each line in the input file
for line in fin:
#read replace the string and write to output file
        fout.write(line.replace('1', '2'))
#close input and output files
fin.close()
fout.close()

Zunächst einmal muss die Datei zum Lesen geöffnet werden. Dazu verwenden wir die Built-in Function open. Diese gibt ein sogenanntes Dateiobjekt (engl. file object) zurück:

fobj = open("woerterbuch.txt", "r")

Der erste Parameter ist die Angabe des Pfades zur gewünschten Datei. Es ist der absolute aber auch der relative Pfad ok. Der zweite Parameter ist ebenfalls ein String und spezifiziert den Modus, in dem die Datei geöffnet werden soll, wobei „r“ für »read« steht und bedeutet, dass die Datei zum Lesen geöffnet wird. Ausserdem gibt es die Optionen w für write = schreiben und a für append = an die Datei anfügen.

Nachdem open aufgerufen wurde, können mit dem Dateiobjekt Daten aus der Datei gelesen werden. Nachdem das Lesen der Datei beendet worden ist, muss sie explizit durch Aufrufen der Methode close geschlossen werden:

fobj.close()

Über die Methode read kann der Inhalt der Datei ausgegeben werden.

#/usr/bin/python3
datei=open("liste.txt","r")
print(datei.read())
datei.close()

Eine weitere Möglichkeit zum Öffnen einer Datei ist das Nutzen der with Anweisung. Die with-Anweisung sorgt automatisch dafür, dass die Datei geschlossen wird, sobald sie den with-Block verlässt, auch in Fehlerfällen. Ich empfehle dringend, die with-Anweisung so oft wie möglich zu verwenden, da sie saubereren Code ermöglicht und Ihnen die Behandlung unerwarteter Fehler erleichtert. Höchstwahrscheinlich möchten Sie auch das zweite Positionsargument, den Modus, verwenden. Dieses Argument ist eine Zeichenfolge, die mehrere Zeichen enthält, um darzustellen, wie Sie die Datei öffnen möchten. Die Standardeinstellung und die häufigste ist ‚r‘, was das Öffnen der Datei im schreibgeschützten Modus als Textdatei darstellt:

with open("woerterbuch.txt", "r") as fobj:
    # Ihre Dateioperationen auf fobj
    pass

In diesem Beispiel wird die Datei liste.txt geöffnet und es wird nach einer Eingabe gefragt. Der eingegebene String wird überprüft ob er in der Datei vorhanden ist. Falls nicht, wird er der Datei hinzugefügt.