Escribir datos en archivos
Tip
Consulte la pestaña Texto e imágenes para obtener más detalles.
Escribir en un archivo permite que el programa guarde los resultados, mantenga los registros o conserve los datos entre ejecuciones. Python ofrece dos modos principales para colocar datos en un archivo: escribir y anexar.
Escribir en un archivo con "w"
Al abrir un archivo en modo de escritura ("w") se crea un nuevo archivo o se sobrescribe completamente cualquier archivo existente con el mismo nombre. Use el .write() método para agregar texto:
with open("greeting.txt", "w") as file:
file.write("Hello, world!\n")
file.write("Welcome to Python.\n")
Advertencia
El modo de escritura borra el archivo en el momento en que se abre.
"w" Use solo cuando esté seguro de que desea reemplazar el contenido del archivo.
Observe que al final de cada cadena aparece \n. A diferencia de print(), .write() no añade automáticamente un salto de línea.
Anexar a un archivo con "a"
Al abrir un archivo en modo de adición ("a") añade al final del archivo, conservando todo lo que ya haya en él. Si el archivo aún no existe, Python lo crea.
with open("log.txt", "a") as file:
file.write("New entry added.\n")
El modo de anexado es ideal para archivos de registro, notas y cualquier dato que quiera ir acumulando con el tiempo.
Escritura de varias líneas
Para escribir una lista de cadenas a la vez, use .writelines(). Recuerde que no agrega nuevas líneas; debe incluirlas usted mismo:
tasks = ["Buy groceries\n", "Walk the dog\n", "Finish homework\n"]
with open("tasks.txt", "w") as file:
file.writelines(tasks)
Elección entre escritura y anexión
Usa "w" cuando... |
Usa "a" cuando... |
|---|---|
| Quieres empezar desde cero cada vez | Usted quiere mantener el contenido existente. |
| Está guardando el resultado final de un proceso | Está registrando nuevos eventos o registros |
| La sobrescritura es intencionada | Preservar la historia es importante |