Heim  >  Artikel  >  Backend-Entwicklung  >  Kann ich eine Datei zum gleichzeitigen Lesen und Schreiben in Python öffnen?

Kann ich eine Datei zum gleichzeitigen Lesen und Schreiben in Python öffnen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-20 18:27:02491Durchsuche

Can I Open a File for Reading and Writing Concurrently in Python?

So öffnen Sie eine Datei zum gleichzeitigen Lesen und Schreiben

Frage:

Ist es das? Ist es möglich, eine Datei sowohl zum Lesen als auch zum Schreiben in Python zu öffnen?

Antwort:

Ja, das ist möglich. Anders als in einigen anderen Programmiersprachen ist dies jedoch nicht durch Angabe eines einzelnen Öffnungsmodus möglich. Stattdessen müssen Sie einen Kontextmanager und die entsprechenden darin enthaltenen Dateimodi verwenden.

Hier ist ein Codeausschnitt, der zeigt, wie man eine Datei liest und in sie schreibt (alle vorhandenen Daten überschreibt), 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 Beispiel wird die Datei im Lese-/Schreibmodus („r“) geöffnet. Die Methode read() liest den Inhalt der Datei in die Datenvariable ein. Die Methode „seek(0)“ setzt den Dateizeiger auf den Anfang der Datei zurück. Die Methode write(output) ersetzt den vorhandenen Inhalt durch die Daten in der Ausgabevariablen. Schließlich kürzt die truncate()-Methode die Datei bis zur aktuellen Position des Dateizeigers und entfernt so effektiv jeglichen Inhalt über diesen Punkt hinaus.

Das obige ist der detaillierte Inhalt vonKann ich eine Datei zum gleichzeitigen Lesen und Schreiben in Python öffnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn