Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Python desde cero - enfoque científico, Unidad 8 — Archivos y datos persistentes, 8.1 — Archivos de texto ·

Lectura de archivos

Lectura de archivos

Introducción

La lectura de archivos es una habilidad fundamental para cualquier programador, especialmente cuando se trabaja con datos. En la ciencia y la inteligencia artificial, la capacidad de leer y procesar datos desde archivos es crucial. Python proporciona herramientas potentes para realizar esta tarea de manera eficiente y precisa.

Explicación principal

Para leer archivos en Python, utilizamos el método open() junto con la función read(), readline(), o readlines(). Estos métodos nos permiten acceder a los datos almacenados en un archivo. Vamos a explorar cada uno de ellos con ejemplos prácticos.

Ejemplo: Lectura de un archivo

Supongamos que tenemos un archivo llamado datos.txt con el siguiente contenido:

Primer dato
Segundo dato
Tercer dato
Cuarto dato

Podemos leer este archivo en Python utilizando el siguiente código:

# Abrir el archivo en modo lectura ('r')
with open('datos.txt', 'r') as archivo:
    # Leer todo el contenido del archivo
    contenido = archivo.read()
    print(contenido)

Este código abre el archivo datos.txt, lee su contenido completo y lo imprime. Sin embargo, hay varias formas de leer archivos que pueden ser más útiles dependiendo de nuestras necesidades.

Forma lineal por línea

Si queremos procesar el archivo línea a línea, podemos usar la función readline():

# Abrir el archivo en modo lectura ('r')
with open('datos.txt', 'r') as archivo:
    # Leer línea por línea
    while True:
        linea = archivo.readline()
        if not linea:  # Si no hay más líneas, sale del bucle
            break
        print(linea.strip())  # strip() para eliminar espacios en blanco

Usando un iterador

También podemos usar un iterador para leer las líneas del archivo:

# Abrir el archivo en modo lectura ('r')
with open('datos.txt', 'r') as archivo:
    for linea in archivo:
        print(linea.strip())

Ejemplo completo de procesamiento

Aquí hay una combinación de ambas técnicas para mostrar cómo podemos procesar y manipular los datos:

# Abrir el archivo en modo lectura ('r')
with open('datos.txt', 'r') as archivo:
    # Leer línea por línea con un iterador
    for linea in archivo:
        dato = linea.strip()  # Eliminamos espacios en blanco

        if dato.startswith('Primer'):  # Ejemplo de condición simple
            print(f"Procesando {dato}")

Errores típicos / trampas

Trampa 1: No cerrar el archivo explícitamente

Si no usamos un bloque with, debemos asegurarnos de cerrar el archivo manualmente:

archivo = open('datos.txt', 'r')
contenido = archivo.read()
print(contenido)
# No olvidar cerrar el archivo
archivo.close()  # Puede llevar a problemas si ocurre una excepción antes

# Mejor usar with para asegurarse de que se cierra siempre, incluso en caso de error

Trampa 2: Ignorar errores durante la lectura

No manejar los errores puede hacer que nuestro programa falle sin notificación:

try:
    with open('no_existe.txt', 'r') as archivo:
        contenido = archivo.read()
except FileNotFoundError:
    print("El archivo no existe")

Trampa 3: Leer el archivo en modo incorrecto

Abrir un archivo en el modo equivocado puede causar problemas:

# Error común: abrir un archivo de escritura en modo lectura
try:
    with open('datos.txt', 'r') as archivo:
        contenido = archivo.write("Nuevo dato")  # Esto debería ser read, no write!
except Exception as e:
    print(f"Error: {e}")

Checklist accionable

  • Verifica el nombre del archivo: Asegúrate de que estás utilizando el nombre correcto del archivo.
  • Comprueba los permisos: Verifica si tienes los permisos adecuados para leer el archivo.
  • Usa with para asegurar la cerradura: Si no usas un bloque with, asegúrate de cerrar el archivo explícitamente en cada ruta.
  • Maneja excepciones: Usa bloques try-except para manejar posibles errores, como FileNotFoundError.
  • Usa los métodos adecuados: Elige entre read(), readline(), y un iterador según tus necesidades.

Cierre: Siguientes pasos

Ahora que has aprendido cómo leer archivos en Python, aquí están algunos pasos para continuar:

  • Practica con diferentes tipos de archivos: Trata de abrir y leer archivos CSV o JSON.
  • Aprende a escribir archivos: Conoce las diferencias entre write(), writelines(), y los métodos de escritura en Python.
  • Explora más funciones: Familiarízate con otras funciones como open() para abrir archivos en diferentes modos (lectura, escritura, agregar, etc.).

¡Esperamos que esta guía te haya ayudado a entender mejor la lectura de archivos en Python!

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).