Heim  >  Artikel  >  Backend-Entwicklung  >  Ist ein gleichzeitiger Dateizugriff zum Lesen und Schreiben ohne mehrfaches Öffnen und Schließen möglich?

Ist ein gleichzeitiger Dateizugriff zum Lesen und Schreiben ohne mehrfaches Öffnen und Schließen möglich?

Susan Sarandon
Susan SarandonOriginal
2024-10-20 18:30:31183Durchsuche

Is Simultaneous File Access for Reading and Writing without Multiple Opening and Closing Possible?

Gleichzeitiger Dateizugriff: Lesen und Schreiben

Frage:

Ist das Öffnen möglich? eine Datei zum gleichzeitigen Lesen und Schreiben, ohne sie zweimal öffnen und schließen zu müssen?

Antwort:

Ja, Sie können eine Datei im Modus „Lesen und Schreiben“ öffnen "-Modus, der es Ihnen ermöglicht, die Datei sowohl zu lesen als auch zu schreiben, ohne sie schließen und erneut öffnen zu müssen. Der folgende Code demonstriert dies:

<code class="python">with open(filename, "r+") as f:
    data = f.read()
    f.seek(0)
    f.write(output)
    f.truncate()</code>

In diesem Code:

  1. Öffnen Sie die Datei im „r“-Modus, der sowohl Lesen als auch Schreiben ermöglicht.
  2. Lesen Sie die gesamte Datei mit f.read() und speichern Sie sie in der Datenvariablen.
  3. Verwenden Sie f.seek(0), um den Dateizeiger auf den Anfang der Datei zurückzusetzen.
  4. Schreiben Sie die gewünschten Daten mit f.write(output) in die Datei.
  5. Verwenden Sie f.truncate(), um die vorhandenen Daten in der Datei mit den neuen Daten zu überschreiben.

Mit diesem Ansatz können Sie den aktuellen Inhalt der Datei lesen, notwendige Änderungen vornehmen und diese zurückschreiben, ohne die Datei schließen und erneut öffnen zu müssen.

Das obige ist der detaillierte Inhalt vonIst ein gleichzeitiger Dateizugriff zum Lesen und Schreiben ohne mehrfaches Öffnen und Schließen möglich?. 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