Sie sollten open
verwenden mit dem w+
Modus:
file = open('myfile.dat', 'w+')
Der Vorteil des folgenden Ansatzes besteht darin, dass die Datei ordnungsgemäß geschlossen wird am Ende des Blocks, auch wenn unterwegs eine Ausnahme ausgelöst wird. Es entspricht try-finally
, aber viel kürzer.
with open("file.dat","a+") as f:
f.write(...)
...
a+ Öffnet eine Datei zum Anhängen und Lesen. Der Dateizeiger befindet sich am Ende der Datei, wenn die Datei existiert. Die Datei wird im Anfügemodus geöffnet. Wenn die Datei nicht existiert, wird eine neue Datei zum Lesen und Schreiben erstellt. -Python-Dateimodi
seek() Methode setzt die aktuelle Position der Datei.
f.seek(pos [, (0|1|2)])
pos .. position of the r/w pointer
[] .. optionally
() .. one of ->
0 .. absolute position
1 .. relative position to current
2 .. relative position from end
Nur "rwab+"-Zeichen sind erlaubt; es muss genau eines von "rwa" vorhanden sein - siehe Stack Overflow-Frage Details zu Python-Dateimodi .
Eine bewährte Vorgehensweise ist die Verwendung des Folgenden:
import os
writepath = 'some/path/to/file.txt'
mode = 'a' if os.path.exists(writepath) else 'w'
with open(writepath, mode) as f:
f.write('Hello, world!\n')