Python

So lesen und schreiben Sie Textdateien in Python

So lesen und schreiben Sie Textdateien in Python
Dieser Artikel behandelt eine Anleitung, die die Handhabung externer Dateien in Python erklärt. Der Schwerpunkt liegt auf dem Öffnen und Schließen von Text- und anderen nicht-binären Datendateien, die auf einem Speichermedium gespeichert sind, sodass Sie verschiedene Operationen mit dem Inhalt der geöffneten Dateien ausführen können.

Öffnen und Schließen einer Datei

So lesen Sie Daten aus einer Textdatei namens „data“.txt“, müssen Sie die Methode „open“ verwenden, die mit offiziellen Python-Builds geliefert wird. Überprüfen Sie den folgenden Beispielcode:

f = open('Daten.txt', 'r')
f.schließen()

Die erste Anweisung öffnet die „Daten“.txt“-Datei im „r“-Modus (schreibgeschützt). Die Methode „open“ akzeptiert einen Dateinamen und den Modus für die Behandlung der Datei als Argumente. Neben dem „r“-Modus gibt es noch andere Modi, die später erklärt werden. Der obige Codeausschnitt führt keine Operationen für die geöffnete Datei aus. Die Methode "close" wird verwendet, um die geöffnete Datei sauber zu schließen, damit Speicher freigegeben werden kann und um Datenbeschädigungen in der geöffneten Datei zu vermeiden, die manchmal auftreten können, wenn die Datei nicht richtig geschlossen wird.

Anstatt die Methode „open“ zum Öffnen und Schließen von Dateien zu verwenden, können Sie sie mit dem Schlüsselwort „with“ kombinieren und die Anweisung „with open“ verwenden.

mit open('data.txt', 'r') als f:
bestehen

Der Hauptvorteil der Verwendung einer „with open“-Anweisung besteht darin, dass der Interpreter die geöffnete Datei automatisch sicher schließt, wenn der „with open“-Codeblock vollständig geparst wurde. Obwohl der Garbage Collector in Python geöffnete Dateien nach einer Weile automatisch gemäß den voreingestellten Regeln schließt, stellen „with open“-Anweisungen sicher, dass die Datei sauber geschlossen wird, sobald der Codeblock fertig ist, um Ressourcen freizugeben.

Lesen von Zeilen einer Textdatei

Um den Inhalt einer Datei zu lesen, verwenden Sie das folgende Codebeispiel:

mit open('data.txt', 'r') als f:
Daten = f.lesen()
drucken (Daten)

Wenn zum Beispiel „Daten“.txt“-Datei hat 1-10 Zahlen, jede in einer neuen Zeile, Sie erhalten die folgende Ausgabe, nachdem Sie den obigen Code ausgeführt haben:

1
2
3
4
5
6
7
8
9
10

Der gesamte Datendump der „data“.txt“-Datei wird in der Variablen „data“ gespeichert. Wenn Sie Zeilen in eine Liste einlesen möchten, können Sie die folgenden Codebeispiele verwenden:

mit open('data.txt', 'r') als f:
Daten = f.Lesezeilen()
print (Daten) mit open('data.txt', 'r') als f:
Daten = Liste(f)
drucken (Daten)

Beachten Sie, dass Sie bei Verwendung der obigen Snippets möglicherweise das Zeichen „\n“ (Neuzeile) am Ende jedes Elements in der Liste erhalten. Um diese Newline-Zeichen zu entfernen, müssen Sie möglicherweise die Liste durchlaufen. Sie können sowohl eine neue Liste erstellen als auch Zeilenumbrüche entfernen, indem Sie stattdessen den folgenden Code verwenden:

Datenliste = []
mit open('data.txt', 'r') als f:
für Zeile in f:
Datenliste.anhängen(Zeile.Streifen())
drucken (data_list)

Wenn Sie den obigen Code ausführen, erhalten Sie folgende Ausgabe:

['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']

Schreiben von Daten in eine geöffnete Datei

Um Daten in eine Datei zu schreiben, die mit der Anweisung „with open“ geöffnet wird, müssen Sie einen anderen Öffnungsmodus als Argument angeben. Hier sind einige der Modi:

Einige Code-Schnipsel, die verschiedene Modi zum Schreiben von Daten verwenden, sind unten aufgeführt.

Um neuen Inhalt in eine Textdatei zu schreiben, während vorhandene Daten gelöscht werden, verwenden Sie das folgende Beispiel:

mit open('data.txt', 'w') als f:
f.schreiben("1\n2")

Nachdem Sie das obige Snippet ausgeführt haben, werden 1-10 Zahlen in den "Daten" angezeigt.txt“-Datei sollte durch zwei neue Zeilen ersetzt werden.

Um Zeilen am Anfang einer Textdatei hinzuzufügen, müssen Sie die Methode „seek“ verwenden, um zur Anfangsposition des Dateipuffers zurückzukehren:

mit open('data.txt', 'r+') als f:
Daten = f.lesen()
f.suchen(0)
f.schreiben("-1\n0\n")
f.schreiben (Daten)

Nachdem Sie das obige Snippet ausgeführt haben, werden -1 und 0-Zahlen zu den oberen beiden Zeilen in "data" hinzugefügt.txt“-Dateien.

Verwenden Sie das folgende Beispiel, um Daten am Ende der Datei anzufügen:

mit open('data.txt', 'a') als f:
f.schreiben("11\n12")

Nachdem Sie das obige Snippet ausgeführt haben, werden 11 und 12 Zahlen am Ende der Datei hinzugefügt.

Fazit

Integrierte Klassen und Methoden in Python bieten eine robuste Möglichkeit, mit Textdateien umzugehen. Mit nur wenigen Codezeilen können Sie vorhandene Daten in einer Datei manipulieren sowie neue Zeilen einfügen.

Kostenlose und Open-Source-Spiele-Engines für die Entwicklung von Linux-Spielen
Dieser Artikel behandelt eine Liste von kostenlosen und Open-Source-Spiele-Engines, die für die Entwicklung von 2D- und 3D-Spielen unter Linux verwend...
Shadow of the Tomb Raider für Linux Tutorial
Shadow of the Tomb Raider ist die zwölfte Erweiterung der Tomb Raider-Reihe – ein Action-Adventure-Franchise von Eidos Montrealdos. Das Spiel wurde vo...
So steigern Sie die FPS unter Linux?
FPS steht für Bilder pro Sekunde. Die Aufgabe von FPS besteht darin, die Bildrate bei Videowiedergaben oder Spielleistungen zu messen. In einfachen Wo...