Cómo escribir en un archivo en Python (escribir y agregar)
Aprenda a escribir texto en archivos en Python. Domine la diferencia entre los modos de escritura ("w") y anexar ("a") con administradores de contexto seguros.
Descripción general
Escribir datos en archivos es una tarea fundamental al crear scripts, guardar estados de programas, crear registros o exportar informes. Python simplifica la salida de archivos utilizando la función incorporada `open()`, combinada con modos de acceso a archivos específicos que controlan cómo se escriben los datos en el disco.
Al escribir archivos, los dos modos más comunes son el modo de escritura ("w"`) y el modo de agregar ("a"`). El modo de escritura sobrescribe el archivo por completo si ya existe, o crea uno nuevo si no existe. El modo Agregar conserva el contenido existente y escribe datos nuevos directamente al final del archivo. Usar el modo incorrecto puede provocar una pérdida accidental de datos, así que elija con cuidado.
De manera similar a la lectura de archivos, siempre debe usar la declaración `with open(...)`. Esto garantiza que el búfer del archivo se vacíe y que el identificador del archivo se cierre correctamente, lo que ahorra recursos del sistema y evita la corrupción de datos. Para escribir listas de cadenas, Python proporciona el método `.writelines()`, lo que hace que las escrituras masivas sean limpias y eficientes.
Código y salida de ejecución
Este script demuestra cómo sobrescribir, agregar y visualizar archivos en Python.
# 1. Overwrite a file (or create new) using "w"
with open("output.txt", "w") as file:
file.write("Hello World from Python!\n")
file.write("Writing file content is simple.\n")
# 2. Append new content to the file using "a"
with open("output.txt", "a") as file:
file.write("This line is appended.\n")
# 3. Reading the file back to verify contents
with open("output.txt", "r") as file:
print(file.read().strip())Hello World from Python!
Writing file content is simple.
This line is appended.Implementación paso a paso
- Úselo con open('filename', 'w') como archivo para sobrescribir o crear un archivo.
- Úselo con open('filename', 'a') como archivo para agregar texto al final del archivo.
- Llame a file.write('string') para escribir segmentos de texto individuales en el archivo.
Preguntas frecuentes
¿Qué pasa si el directorio del archivo no existe?
Python generará un FileNotFoundError. Primero debe crear el directorio usando la función os.makedirs antes de escribir el archivo.
¿Cómo escribo variables o números en un archivo?
El método write() solo acepta argumentos de cadena. Debes convertir números usando str(num) o formatearlos usando f-strings.
Temas relacionados
Aprenda a leer archivos en Python. Domine la declaración abierta, la línea de lectura, las líneas de lectura y el manejo seguro de excepciones de archivos.
Cómo manejar excepciones en PythonAprenda a manejar excepciones en Python usando los bloques try, except, else y finalmente. Escriba código Python libre de errores y resistente a fallos.
Recursos recomendados de Python
Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.
E/S de archivos Python
Aprenda a leer y escribir archivos en Python. Domine los administradores de contexto open(), read(), write() y contexto para manejar operaciones de archivos de forma segura sin fugas de recursos.
Hoja de referencia de operaciones de archivos de Python
Referencia rápida para leer y escribir archivos en Python. Domina los modos abiertos, los administradores de contexto y la lectura línea por línea.
Decoradores de Python versus patrón de diseño decorador: las diferencias clave
Compare los decoradores de Python y el patrón de diseño de decorador clásico. Comprenda las diferencias entre el ajuste de funciones en tiempo de definición y la composición dinámica de objetos en tiempo de ejecución con código ejecutable.