Dominando readline() en Python: lectura eficiente línea por línea de archivos
Dominando readline() en Python: lectura eficiente línea por línea de archivos
¿Qué es readline() en Python?
readline() es un método integrado de archivo que devuelve la siguiente línea completa desde un objeto archivo. La cadena devuelta termina con un carácter de nueva línea (\n). Cuando se alcanza el final del archivo, devuelve una cadena vacía.
Opcionalmente puedes pasar un argumento size para limitar el número de bytes leídos. Un valor negativo u omitido causa que se devuelva la línea completa.
Características clave
- Lee una línea completa por llamada.
- Añade un salto de línea final a menos que la línea sea la última sin uno.
- Devuelve una cadena en modo texto; un objeto bytes en modo binario.
- Soporta un parámetro opcional
size(por defecto -1).
Sintaxis
objeto_archivo.readline([size])
Parámetros
- size (int, opcional): Número de bytes a leer. Por defecto -1 (leer línea completa).
Valor de retorno
Una cadena (o bytes) conteniendo la siguiente línea, o cadena vacía cuando el archivo se agota.
Ejemplo 1: Leer la primera línea
Asume que demo.txt contiene:
Prueba - PrimeraLínea
Prueba - SegundaLínea
Prueba - Tercera Línea
Prueba - Cuarta Línea
Prueba - Quinta Línea
Código Python:
with open("demo.txt", "r") as f:
primera_linea = f.readline()
print(primera_linea)
Salida:
Prueba - PrimeraLínea
Ejemplo 2: Usar el argumento size
Leer solo los primeros 10 caracteres de la primera línea:
with open("demo.txt", "r") as f:
parcial = f.readline(10)
print(parcial)
Salida:
Prueba -
Entrada/Salida básica de archivos en Python
La apertura de archivos se maneja con open(ruta, modo). Modos comunes:
| Modo | Descripción |
|---|---|
| r | Lectura (por defecto) |
| w | Escritura (trunca) |
| a | Añadir (append) |
| rb | Lectura binaria |
| wb | Escritura binaria |
Lectura de archivo línea por línea
Usando un bucle while con readline():
with open("demo.txt", "r") as f:
linea = f.readline()
while linea:
print(linea)
linea = f.readline()
Usando un bucle for (preferido por legibilidad):
with open("demo.txt", "r") as f:
for linea in f:
print(linea)
Leer todas las líneas de una vez
readlines() de Python devuelve una lista de todas las líneas:
with open("test.txt", "r") as f:
lineas = f.readlines()
print(lineas)
Ejemplo de salida:
["Línea Nº 1\n", "Línea Nº 2\n", "Línea Nº 3\n", "Línea Nº 4\n", "Línea Nº 5"]
Resumen
- Usa
readline()para lectura controlada línea por línea. - Pasa
sizepara limitar bytes leídos; por defecto lee la línea completa. - Para iteración simple, prefiere
for linea in archivosobre buclewhilemanual. - Cuando necesitas todas las líneas en memoria,
readlines()es conveniente. - Siempre cierra archivos; la sentencia
withlo maneja automáticamente.
python
- Domine str.count() en Python: Cómo Contar Caracteres y Subcadenas con Ejemplos
- Domine el Formateo de Strings en Python con format(): Ejemplos Claros
- Domine el Método String.find() en Python: Sintaxis, Ejemplos y Alternativas
- Dominando las funciones lambda en Python: ejemplos prácticos y mejores prácticas
- Función round() en Python explicada con ejemplos prácticos
- Dominando la función map() de Python: sintaxis, ejemplos y mejores prácticas
- Python timeit(): medición de tiempo de ejecución con ejemplos prácticos
- Counter de collections en Python: conteo eficiente, actualización y operaciones aritméticas
- Entendiendo type() e isinstance() en Python: ejemplos prácticos
- Dominando Java String.indexOf(): Localizar subcadenas y ejemplos prácticos
- Dominando el método compareTo() de Java String: Sintaxis, casos de uso y ejemplos prácticos