Gleichzeitiges Lesen und Schreiben von Dateien: Eine kurze Anleitung
Das Öffnen einer Datei ausschließlich zum Lesen oder Schreiben ist eine unkomplizierte Aufgabe. Es kann jedoch vorkommen, dass der Zugriff auf die Datei in beide Richtungen erforderlich ist. Dieser Artikel geht auf diesen Bedarf ein und bietet eine Lösung zum Öffnen einer Datei zum Lesen und Schreiben.
Hintergrund
Versuch, eine Datei sowohl zum Lesen als auch zum Schreiben zu öffnen Der traditionelle Modus „r“ oder „w“ wird von der open()-Funktion in Python nicht unterstützt. Um dieses Problem zu umgehen, kann man die Datei zum Schreiben öffnen, schließen und dann zum Lesen erneut öffnen. Dieser sich wiederholende Vorgang kann ineffizient und unpraktisch sein.
Lösung
Python bietet mit dem 'r'-Modus eine elegante Lösung, die es ermöglicht, die Datei sowohl zum Lesen als auch zum Lesen zu öffnen und Schreiben. Beim Öffnen in diesem Modus beginnt der Dateizeiger am Anfang und die Datei wird auf die Länge Null gekürzt, sofern vorhanden.
Verwendung
Das folgende Beispiel zeigt, wie das geht um eine Datei zu lesen, ihren Inhalt zu überschreiben und sie auf die entsprechende Länge zu kürzen, ohne sie zu schließen und erneut zu öffnen:
<code class="python">with open(filename, "r+") as f: data = f.read() f.seek(0) f.write(output) f.truncate()</code>
In diesem Codeblock öffnet die „with“-Anweisung die Datei mit dem Namen „filename“ im Lesemodus. Schreibmodus mit dem Flag 'r'. Die Daten in der Datei werden mit der Methode „read()“ gelesen und in der Variablen „data“ gespeichert.
Der Dateizeiger wird dann mit der Methode „seek()“ auf den Anfang der Datei zurückgesetzt mit einem Argument von 0. Dadurch können wir ab dem ersten Zeichen in die Datei schreiben.
Die Methode „write()“ wird verwendet, um die vorhandenen Daten mit dem neuen Inhalt zu überschreiben, der in der „Ausgabe“ gespeichert ist. Variable. Schließlich sorgt die Methode „truncate()“ dafür, dass die Datei bis zur aktuellen Position des Dateizeigers gekürzt wird, sodass eine Datei mit dem aktualisierten Inhalt von vorne beginnt.
Das obige ist der detaillierte Inhalt vonWie kann ich in Python gleichzeitig in eine Datei lesen und schreiben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!