GUIA Leer y Escribir Archivos con Python
Leer y Escribir archivos con Python es muy facil, vamos a ver como hacerlo con algunos ejemplos usando las funciones nativas de Python.
Para leer y escribir archivos vamos a usar la funcion open(filename, mode) que tiene 2 parametros, uno es el nombre de archivo y otro es el modo, los modos pueden ser:
- r: Lectura
- w: Escritura
- a: Append, agregar informacion a un archivo sin borrar el contenido
- r: Lectura y Escritura
Si aun eres nuevo en python o quieres aprender mas te invito a ver la Guia Introduccion de Python, donde aprenderas todo lo basico para entender este y otros tutoriales de Python.
Escribir archivo en Python
Ahora vamos a Escribir un archivo:
# 1. Abrimos el archivo en modo escritura ('w' = write)
# Nota: Si el archivo no existe, se creará automáticamente.
archivo = open("archivo.txt", "w")
# 2. Escribimos el contenido línea por línea
# El carácter '\n' es fundamental para realizar el salto de línea
archivo.write("¡Hola Mundo!\n")
archivo.write("Línea 2\n")
archivo.write("Línea 3\n")
# 3. Cerramos el archivo para asegurar que los datos se guarden físicamente
# Es una buena práctica para liberar el recurso en el sistema operativo
archivo.close()
print("Archivo 'archivo.txt' generado con éxito.")
En este ejemplo creamos un archivo llamado archivo.txt en modo escritura, usamos la variable archivo como referencia al objeto y posteriormente el metodo archivo.write para escribir lineas de texto, colocando el texto entre comillas, al finaliza usamos archivo.close() para cerrar el archivo.
Al final del texto en las comillas agregamos \n para hacer el salto de linea en el archivo, es decir despues de \n el texto que sigue se escribe en la siguiente linea.
Ejemplo 2: Escribir varias lineas apartir de un array
En el siguiente ejemplo, escribimos varias lineas de texto que estan en un array, usamos el metodo archivo.writelines(array_texto), donde array_texto es el array con el texto que se escribira en el archivo.
# 1. Abrimos el archivo 'archivo2.txt' en modo escritura ('w')
archivo = open("archivo2.txt", "w")
# 2. Definimos una lista con las líneas que queremos guardar
# Es importante que cada elemento termine con '\n' para el salto de línea
lines = ["Línea 1\n", "Línea 2\n", "Línea 3\n", "Línea 4\n"]
# 3. Usamos writelines() para volcar toda la lista al archivo de una sola vez
# Este método es más eficiente que hacer un bucle 'for' con write()
archivo.writelines(lines)
# 4. Cerramos el archivo para asegurar que los cambios se guarden en el disco
archivo.close()
print("Archivo 'archivo2.txt' generado con éxito usando una lista.")
Leer archivo en Python
Para leer un archivo continuaremos usando la funcion open con modo “r” y con la funcion readline() leeremos linea por linea el archivo con un ciclo for.
# 1. Abrimos el archivo 'archivo.txt' en modo lectura ('r' = read)
archivo = open("archivo.txt", "r")
# 2. Iteramos directamente sobre el objeto 'archivo'
# Este método es eficiente porque lee una línea a la vez del disco
for line in archivo:
# Usamos strip() para eliminar el salto de línea sobrante (\n) del archivo,
# ya que print() añade su propio salto de línea por defecto.
print(line.strip())
# 3. Cerramos el recurso para liberar el archivo en el sistema operativo
archivo.close()
Este ejemplo de leer esta simplificado, tomando el objecto “archivo” lo usamos para recorrer las lineas.
Ejemplo 2: Guardar lineas en una variable
En el siguiente ejemplo usamos el metodo archivo.readlines() para guuadar las lineas del archivo en una variable y posteriormente recorrer el array con un ciclo for.
# 1. Abrimos el archivo 'archivo.txt' en modo lectura ('r')
archivo = open("archivo.txt", "r")
# 2. Cargamos todas las líneas del archivo en una lista de Python
# Cada elemento de la lista 'lines' será una línea del archivo original
lines = archivo.readlines()
# 3. Mostramos el total de elementos (líneas) capturados en la lista
print("Total de líneas: ", len(lines))
# 4. Recorremos la lista para imprimir cada línea individualmente
for line in lines:
# Usamos end='' porque las líneas ya traen su propio salto de línea (\n)
print(line, end='')
# 5. Cerramos el recurso para liberar el archivo del sistema
archivo.close()
Ejecutar scripts
Para poder ejecutar cualquiera de los ejemplos solo deben copiar el contenido del ejemplo en un archivo y guardarlo con un nombre + extensión .py, por ejemplo script.py después guardarlo en un lugar y con el python instalador, abrir una terminal, moverse usando el comando “cd” hasta la carpeta donde tengan los archivos y después ejecutar:
python script.py
Donde script.py es el nombre que ustedes le coloquen al script de ejemplo.
Resultado
Este es el resultado de la ejecución de los diferentes scripts.
Recomendaciones Finales
- Gestión de Recursos: Siempre asegúrate de usar
archivo.close()para evitar bloqueos en el sistema operativo, o mejor aún, utiliza la sentenciawith open(...)para un cierre automático y seguro. - Limpieza de Datos: Recuerda que al leer, Python conserva los saltos de línea (
\n). Utiliza.strip()o el parámetroend=''en tus impresiones para mantener un formato limpio en la consola. - Escalabilidad: Si trabajas con volúmenes masivos de datos (como logs de servidores), prioriza siempre la lectura iterativa (el ciclo
fordirecto) para mantener tu aplicación rápida y estable.
Conclusión
Espero les sirvan de ayuda estos scripts.