Entrada y salida de archivos

Leer y escribir archivos en Python es una tarea sumamente sencilla. No se diferencia en mucho, en efecto, de la solución de otros lenguajes: todos proveen una API bastante similar.

Para abrir un archivo emplearemos la función incorporada open(). Luego, podremos acceder a su contenido vía el método read() y finalmente cerrar el fichero vía close().

f = open("archivo.txt")
print(f.read())
f.close()

El primer argumento es una cadena que indica la ruta del archivo que queremos abrir, la cual puede ser absoluta (e.g. C:\Documentos\archivo.txt) o bien relativa, como se observa en el ejemplo.

Para escribir en un archivo, utilizamos el método write(). Pero primero debemos indicarle a open() que queremos abrir el archivo como escritura, con un segundo argumento.

f = open("archivo.txt", "w")
f.write("¡Hola, mundo!")
f.close()

Nótese que este código, al escrbir, reemplaza todo contenido anterior. Para preservarlo y, en su lugar, escribir al final del archivo, debemos indicar un tercer modo de apertura.

f = open("archivo.txt", "a")
# Esto se agrega al final del archivo.
f.write("¡Hola, mundo!")
f.close()

Si bien no hemos hablado de la palabra reservada with, considero un deber comentarte esta otra forma de trabajar con archivos.

with open("archivo.txt") as f:
    print(f.read())

Este ejemplo es similar al primero, con la diferencia que Python se encargará de llamar a close() cuando hayas terminado de usar el archivo, ¡incluso si ocurre una excepción! Por ello se considera la opción más recomendada.

Otros métodos de los ficheros incluyen seek(), readline() y readlines(). Te dejo este otro artículo para que explores estas cuestiones y otras más sobre el tema: Lectura y escritura de archivos.

Hasta el momento hemos aprendido varios conceptos que constituyen el corpus de herramientas que el lenguaje ofrece para que explotemos. Veamos, ahora, cómo organizar nuestro código en distintos archivos y carpetas.