Leer un archivo línea por línea en Python

Hay muchas maneras de leer un archivo de texto línea por línea en Python. Puedes leer las líneas en una lista, o simplemente acceder a ellas una por una en un bucle iterando sobre las líneas proporcionadas por algún tipo de iterador o llamando a una función sobre el objeto archivo.

En este tutorial, aprenderemos a leer un archivo línea por línea usando la función readline(), la función readlines(), o el objeto file, con la ayuda de programas de ejemplo.

Ejemplo 1: Leer un archivo de texto línea por línea – readline()

En este ejemplo, usaremos la función readline() en el flujo del archivo para obtener la siguiente línea en un bucle.

Pasos para usar la función archivo.readline()

Los siguientes son los pasos para leer el archivo línea por línea usando la función readline().

  1. Lee el archivo en modo texto. Devuelve un flujo al archivo.
  2. Crea un bucle while.
    1. Durante cada iteración del bucle, lee la siguiente línea del archivo usando readline().
    2. Si la línea no está vacía, tienes la siguiente línea. Puede comprobar esto usando if-not. else, no hay más líneas en el archivo, y rompemos el bucle con un break.
  3. Para cuando rompemos el bucle, hemos leído todas las líneas del fichero una a una durante las iteraciones.
  4. Como ya hemos terminado con el archivo, lo cerramos.
#obtener el archivo
archivo = open("datos.txt", "r", encoding='utf-8')

while(True):
	#leer la siguiente linea
	linea = archivo.readline()
	#revisar si la linea no es null
	if not linea:
		break
	#puedes acceder a la linea "strip" para quitar espacios en blanco al inicio y final
	print(linea.strip())

#cerramos el archivo
archivo.close

abrimos el archivo en encoding='utf-8' para que los acentos se interpreten correctamente.

Salida:

Python es un lenguaje de programación
interpretado cuya filosofía hace
hincapié en la legibilidad de su código.

Ejemplo 2: Leer líneas como una lista readlines()

La función readlines() devuelve todas las líneas del archivo como una lista de cadenas. Podemos recorrer la lista y acceder a cada línea del archivo.

En el siguiente programa, vamos a leer un archivo de texto, y luego obtener la lista de todas las líneas en el archivo de texto utilizando la función readlines(). Después de eso, usamos el bucle For para recorrer esta lista de cadenas.

#obtener el archivo
archivo = open("datos.txt", "r", encoding='utf-8')

#leemos todas las lineas
lineas = archivo.readlines()

# se imprime linea por linea
for linea in lineas:
	print(linea.strip())

#cerramos el archivo
archivo.close

Salida:

Python es un lenguaje de programación
interpretado cuya filosofía hace
hincapié en la legibilidad de su código.

Ejemplo 3: Leer un archivo línea por línea usando un objeto de archivo

En nuestro primer ejemplo, hemos leído cada línea del archivo usando un bucle while infinito y la función readline(). Pero, puede utilizar la sentencia For en el propio objeto archivo para obtener la siguiente línea del archivo en cada iteración, hasta el final del archivo.

A continuación se muestra el programa, demostrando cómo usamos la sentencia for-in para iterar sobre las líneas del archivo.

#obtener el archivo
archivo = open("datos.txt", "r", encoding='utf-8')
  
# leemos todas las lineas e imprime linea por linea
for linea in archivo:
	print(linea.strip())

#cerramos el archivo
archivo.close

Salida:

Python es un lenguaje de programación
interpretado cuya filosofía hace
hincapié en la legibilidad de su código.

En este tutorial de Ejemplos de Python, aprendimos a leer un archivo de texto línea por línea, con la ayuda de programas de ejemplo de Python bien detallados.

Deja una respuesta