Deberías usar open
con el w+
modo:
file = open('myfile.dat', 'w+')
La ventaja del siguiente enfoque es que el archivo está cerrado correctamente al final del bloque, incluso si se genera una excepción en el camino. Es equivalente a try-finally
, pero mucho más corto.
with open("file.dat","a+") as f:
f.write(...)
...
a+ Abre un archivo para agregar y leer. El puntero de archivo se encuentra al final del archivo, si el archivo existe. El archivo se abre en el modo de adición. Si el archivo no existe, crea un nuevo archivo para lectura y escritura. -Modos de archivo Python
El método seek() establece la posición actual del archivo.
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
Solo se permiten caracteres "rwab+"; debe haber exactamente uno de "rwa"; consulte la pregunta de desbordamiento de pila Detalle de los modos de archivo de Python .
Una buena práctica es usar lo siguiente:
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')