Cómo Leer un Archivo en Python
La forma más rápida de leer un archivo en Python es con la sentencia
withy el métodoread():
with open("datos.txt", "r") as archivo:
contenido = archivo.read()
¿Cuándo necesitas esto?
Leer archivos es una de las tareas más comunes en Python. Lo necesitas cada vez que tu programa carga configuraciones, procesa reportes, lee logs o abre cualquier archivo de texto. En esta guía aprenderás cómo leer un archivo en Python paso a paso, desde el ejemplo más simple hasta el más seguro.
Método 1: Abrir un archivo con open() y read()
La forma más directa de leer un archivo en Python es abrirlo y llamar al método read().
archivo = open("datos.txt", "r")
contenido = archivo.read()
archivo.close()
print(contenido)
El primer argumento es el nombre del archivo y el segundo, "r", significa modo lectura. Siempre cierra el archivo con close() para liberar los recursos.
Método 2: Usar la sentencia with (recomendado)
La mejor práctica en Python es usar la sentencia with. Cierra el archivo automáticamente, incluso si ocurre un error.
with open("datos.txt", "r") as archivo:
contenido = archivo.read()
print(contenido)
Esta es la forma recomendada para leer un archivo en Python porque es más segura y más fácil de leer.
Método 3: Leer línea por línea o en una lista
Si el archivo es muy grande, leerlo todo de golpe puede consumir mucha memoria. Puedes iterar sobre el archivo para procesarlo línea a línea.
with open("datos.txt", "r") as archivo:
for linea in archivo:
print(linea, end="")
El método readlines() devuelve una lista donde cada elemento es una línea del archivo.
with open("datos.txt", "r") as archivo:
lineas = archivo.readlines()
print(lineas)
Método 4: Especificar codificación UTF-8
Para leer archivos con acentos o caracteres especiales, indica la codificación utf-8. Esto es esencial cuando trabajas con textos en español.
with open("datos.txt", "r", encoding="utf-8") as archivo:
contenido = archivo.read()
Comparativa de métodos
| Método | Ventaja | Cuándo usarlo |
|---|---|---|
open() + read() |
Simple y directo | Scripts rápidos, archivos pequeños |
with open() |
Seguro, cierra automáticamente | Siempre recomendado |
Bucle for |
Bajo consumo de memoria | Archivos muy grandes |
readlines() |
Devuelve una lista de líneas | Cuando necesitas cada línea |
encoding="utf-8" |
Lee acentos y símbolos | Archivos en español u otros idiomas |
Errores comunes y solución
FileNotFoundError: el archivo no existe
Si el archivo no existe, Python lanza un FileNotFoundError. Usa try y except para manejarlo correctamente.
try:
with open("datos.txt", "r", encoding="utf-8") as archivo:
contenido = archivo.read()
except FileNotFoundError:
print("El archivo no existe")
UnicodeDecodeError: el archivo tiene otra codificación
Si el archivo fue guardado en otro formato, agrega el argumento encoding correcto en la llamada a open().
Preguntas frecuentes
¿Qué significa la "r" en open()?
La "r" significa modo lectura. Abre el archivo para leer su contenido sin modificarlo.
¿Necesito cerrar el archivo con la sentencia with?
No. La sentencia with cierra el archivo automáticamente. Por eso es la forma recomendada para leer un archivo en Python.
¿Cómo leo un archivo línea por línea?
Usa un bucle for sobre el objeto archivo, como se muestra en el Método 3.
Contenido relacionado
- Cómo Ordenar un Diccionario en Python
- Cómo Convertir String a Int en Python
- Tutoriales How-To en Python
- Curso de Python desde Cero
Palabras clave relacionadas
cómo leer un archivo en python, leer archivo python, open python, leer archivo de texto python, python with open, readlines python, utf-8 python, archivo no encontrado python
Guarda este tutorial y compártelo si te fue útil. Encuentra más guías prácticas en la sección how-to de Python.