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.

Pruebe esta solución en el Editor

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())
Salida terminal
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

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.