Lectura y manejo de archivos de texto en Python

Clase 35 de 44Curso de Python: Comprehensions, Funciones y Manejo de Errores

Resumen

¿Cómo leer un archivo de texto en Python?

Aprender a manejar la lectura de archivos de texto en Python puede ser una habilidad crucial para todo desarrollador. Esta habilidad nos permite acceder a grandes volúmenes de datos, manipularlos y analizarlos de manera eficiente. En esta lección, te guiaremos paso a paso en el proceso de creación, lectura y manipulación de archivos de texto en Python. Comencemos a explorar las diferentes técnicas y métodos para hacerlo.

¿Cómo crear y leer un archivo de texto?

Para empezar, debemos crear un archivo de texto en el cual escribiremos un par de líneas para posteriormente leerlas desde Python. Este es un proceso sencillo pero esencial para entender cómo trabajar con archivos.

  1. Crear un archivo de texto:
    • Utilizando tu editor de texto favorito, crea un archivo nombrado text.txt.
    • Escribe en el archivo algunas líneas como:
      línea 1
      línea 2
      línea número 3
      
  2. Escribir un script en Python:
    • Crea un nuevo archivo Python llamado files.py. Este será el script desde donde realizaremos las operaciones de lectura.

Lectura de un archivo completo

Para leer todo el contenido de un archivo al mismo tiempo, usamos el método read() de Python. Este método es útil cuando el archivo no es muy grande, ya que cargará todo el contenido en memoria.

file = open("./text.txt", "r")
content = file.read()
print(content)
file.close()

Leer línea por línea

Si deseas procesar un archivo línea a línea, especialmente cuando es grande, la lectura mediante el método readline() es más adecuada. Este método lee una línea a la vez, lo que es menos intensivo en el uso de memoria.

file = open("./text.txt", "r")
line = file.readline()
while line:
    print(line, end="")
    line = file.readline()
file.close()

Iterar sobre líneas con un bucle for

Otro enfoque eficiente para procesar archivos línea a línea es utilizar un bucle for. Este método es intuitivo y automáticamente maneja el cierre del archivo una vez que se alcanza el final.

with open("./text.txt", "r") as file:
    for line in file:
        print(line, end="")

¿Cómo manejar el cierre de archivos?

Cerrar los archivos una vez que hemos terminado de trabajar con ellos es fundamental, ya que libera la memoria utilizada y previene potenciales bloqueos asociados con el manejo inadecuado de archivos.

  1. Método tradicional:

    • Usar file.close() después de completar la lectura o escritura.
  2. Uso de with open:

    • Con esta sintaxis, Python automáticamente se hace cargo del cierre del archivo una vez que las operaciones han terminado. Es una práctica recomendada por su simplicidad y seguridad inherente.

¿Cómo afectan estos métodos el rendimiento?

Al elegir el método de lectura apropiado, consideramos:

  • Archivo completo con read(): Útil para archivos pequeños, ya que todo el contenido se carga a memoria.
  • Línea por línea con readline() o for: Mejor para archivos grandes, ya que sólo mantiene una línea en memoria a la vez.

En cada caso, el uso de una técnica u otra dependerá del tamaño del archivo y de la memoria disponible. El método with open es ampliamente preferido por su capacidad de manejar de manera segura la apertura y cierre de archivos.

A medida que continues aprendiendo sobre la manipulación de archivos, podrás avanzar hacia la creación y modificación de estos mismos, ampliando tu repertorio de habilidades en la programación con Python. ¡Adelante, sigue explorando y dominando nuevas técnicas!