Resumen: en este tutorial de Python te enseño a escribir datos a un archivo de texto, ya sea adjuntando texto o remplazando el contenido.
Veremos la función open
, write
y close
, además de los modos de apertura w
y a
.
Nota: puedes ver cómo leer un archivo de texto usando Python aquí.
Escribir archivo con Python
Debemos obtener un archivo con la función open
, indicando el nombre del archivo y el modo de apertura.
Hay varios modos de apertura pero por ahora veremos el modo w y el modo a.
Escribir archivo: remplazar contenido
Veamos el modo w. En este modo el contenido del archivo es remplazado, no adjuntado. Si el archivo no existe, se crea:
Hola, escribiendo texto
parzibyte.me
Podemos llamar a write múltiples veces
"""
Escribir datos en un archivo con Python
Ejemplo 1: crear archivo y sobrescribir contenido
https://parzibyte.me/blog
"""
nombre_archivo = "readme.txt"
with open(nombre_archivo, "w") as archivo:
archivo.write("Hola, escribiendo texto\n")
archivo.write("parzibyte.me\n")
archivo.write("Podemos llamar a write múltiples veces")
# No olvides cerrar el archivo
archivo.close()
En la línea 8 abrimos el documento dentro de archivo (el mismo se llama readme.txt). Después escribimos contenido con write
, podemos llamar a esa función varias veces.
Al final, cerramos el archivo con close
.
Escribir archivo en Python: adjuntar contenido
Ahora veamos el modo a, que agrega el contenido al archivo.
De igual manera, el archivo se crea si no existe.
Solo cambia el modo de apertura:
"""
Escribir datos en un archivo con Python
Ejemplo 2: crear archivo y adjuntar contenido
https://parzibyte.me/blog
"""
nombre_archivo = "readme.txt"
with open(nombre_archivo, "a") as archivo:
archivo.write("Hola, escribiendo texto\n")
archivo.write("Cada que ejecutes el archivo, el texto se agrega al final\n")
archivo.write("parzibyte.me")
archivo.write("\n")
# No olvides cerrar el archivo
archivo.close()
Si ejecutas el script múltiples veces, el contenido se irá agregando al final del archivo.
Escribir archivo con Python 3: excepciones
Cuando estamos abriendo un archivo es probable que ocurra una excepción (por ejemplo, si no existe).
La excepción puede ser manejada con un try
/ except
como en el siguiente ejemplo:
"""
Escribir datos en un archivo con Python
Ejemplo 3: excepciones
https://parzibyte.me/blog
"""
nombre_archivo = "."
try:
with open(nombre_archivo, "a+") as archivo:
archivo.write("Hola, escribiendo texto\n")
archivo.write(
"Cada que ejecutes el archivo, el texto se agrega al final\n")
archivo.write("parzibyte.me")
archivo.write("\n")
# No olvides cerrar el archivo
archivo.close()
except Exception as e:
print("Error abriendo archivo:", e)
En este caso estamos atrapando la excepción, así podemos manejar el asunto dependiendo de lo que suceda.
El problema que lanza la excepción es que .
es un directorio, y no podemos abrir un directorio como archivo, por lo que se genera un error; aunque en la práctica pueden generarse otros y siempre es bueno atraparlos.