Usuario anónimo
¿Cómo se añade a un archivo en Python?
¿Cómo se añade al archivo en lugar de sobrescribirlo? ¿Hay alguna función especial que añada al archivo?
1439
3
¿Cómo se añade al archivo en lugar de sobrescribirlo? ¿Hay alguna función especial que añada al archivo?
Es necesario abrir el archivo en modo apéndice, estableciendo "a" o "ab" como modo. Véase open().
Cuando abres con el modo "a", la posición de escritura estará siempre al final del archivo (un apéndice). Puede abrir con "a+" para permitir la lectura, buscar hacia atrás y leer (¡pero todas las escrituras seguirán estando al final del archivo!).
Ejemplo:
Nota: Usar 'a' no es lo mismo que abrir con 'w' y buscar hasta el final del archivo - considere lo que podría suceder si otro programa abriera el archivo y comenzara a escribir entre la búsqueda y la escritura. En algunos sistemas operativos, abrir el archivo con 'a' garantiza que todas las escrituras siguientes se añadirán atómicamente al final del archivo (incluso cuando el archivo crezca por otras escrituras).
Algunos detalles más sobre cómo funciona el modo "a" (probado sólo en Linux). Incluso si busca hacia atrás, cada escritura se añadirá al final del archivo:
De hecho, el manpage de
fopen
afirma:Antigua respuesta simplificada (sin usar
with
):Ejemplo: (en un programa real usar
with
para cerrar el archivo - ver la documentación)Probablemente quiera pasar
"a"
como argumento de modo. Consulte la documentación de open().Hay otras permutaciones del argumento de modo para actualizar (+), truncar (w) y el modo binario (b), pero empezar con sólo
"a"
es su mejor opción.