Leer datos de archivos
Tip
Consulte la pestaña Texto e imágenes para obtener más detalles.
Python ofrece varias maneras de leer texto de un archivo. La mejor opción depende del tamaño del archivo y de lo que desea hacer con él.
Leer todo el archivo a la vez
El .read() método devuelve todo el archivo como una sola cadena:
with open("notes.txt", "r") as file:
contents = file.read()
print(contents)
Este enfoque funciona bien para archivos pequeños, pero para archivos muy grandes carga todo en memoria a la vez.
Note
Si el archivo no existe, open() en modo de lectura genera un FileNotFoundError. Asegúrese de que el archivo existe antes de intentar leerlo.
Leer el archivo como una lista de líneas
El .readlines() método devuelve cada línea como una cadena independiente en una lista. Cada cadena conserva el carácter de salto de línea (\n) al final.
with open("notes.txt", "r") as file:
lines = file.readlines()
for line in lines:
print(line.strip()) # .strip() removes the trailing newline
Leer una línea a la vez
La forma que menos memoria consume es recorrer directamente el objeto de archivo. Python lee una línea por bucle:
with open("notes.txt", "r") as file:
for line in file:
print(line.strip())
Este patrón se recomienda para archivos grandes porque solo se mantiene una línea en la memoria a la vez.
Elección del enfoque adecuado
| Si quieres... | Use... |
|---|---|
| Trabajar con todo el archivo como una cadena | .read() |
| Obtén una lista de líneas a las que puedes acceder por índice | .readlines() |
| Procesar cada línea una a la vez de forma eficaz | for line in file |