Cómo leer un fichero línea a línea en Python

Cómo leer un fichero línea a línea en Python

A la hora de programar siempre hay una serie de tareas repetitivas que me cuesta trabajo recordar. No sé si a ti te pasa lo mismo. Es por eso por lo que decidí crear la sección «Desayuno con Python» en el blog, para recopilar todos esos scripts sencillos pero útiles de uso cotidiano. Uno los scripts que no podía faltar en esta sección es cómo leer un fichero línea a línea en Python.

Leer un fichero línea a línea

Leer las líneas de un fichero es una tarea muy común y muy sencilla. Básicamente, todo se reduce a dos líneas de código:

with open('ruta_del_fichero') as f:
    for linea in f:
        # Tu código aquí

❗ Ten en cuenta que la variable linea incluye el carácter \n al final.

Leer un fichero en python completo

Un objeto de tipo file también ofrece un método llamado read(). Este método leerá el fichero en su totalidad y lo devolverá como una cadena de texto. Usa este método con precaución ya que puede consumir mucha memoria si el fichero es demasiado grande. Yo lo usaría solo en caso de que el fichero fuera muy pequeño.

with open('cloudbutton.py', 'r') as f:
    contenido = f.read()
    print(contenido)

¿Qué significa la palabra with al principio del bloque?

A la hora de gestionar y manipular recursos, como puede ser un fichero, hay ciertos patrones que se suelen repetir. Para estos casos, Python nos ayuda a abstraernos del código repetitivo introduciendo lo que se conocen como «Manejadores de contexto» a través de la sentencia with.

En el caso de los ficheros, with nos asegura de que el fichero se cerrará correctamente después de ejecutarse el código en el interior del bloque, incluso si ocurre alguna excepción.

De manera que el siguiente código

with open('hola.txt', 'r') as f:
    for linea in f:
        ...

sería equivalente a este

f = open('hola.txt', 'r')
try:
    for linea in f:
        ...
finally:
    f.close()

¿Quieres ser expert@ en Python? Recibe trucos Python y las últimas novedades del blog

¡Eyyy! Esto también te puede interesar 👇

* Te informo de que los datos de carácter personal que proporciones al comentar serán tratados por Juan José Lozano Gómez como responsable de esta web. La Finalidad es moderar los comentarios. La Legitimación es gracias a tu consentimiento. Destinatarios: tus datos se encuentran alojados en Disqus (disqus.com), mi sistema de comentarios, que está acogido al acuerdo de seguridad EU-US Privacy. Podrás ejercer Tus Derechos de Acceso, Rectificación, Limitación o Suprimir tus datos enviando un email a juanjo@j2logo.com. Encontrarás más información en la POLÍTICA DE PRIVACIDAD.

Sobre j2logo

j2logo profile

Quiero ayudarte a que seas mejor programador/a, pero no uno cualquiera, sino uno de los top.

¿Quieres ser expert@ en Python? 🐍

❤️ He ayudado a miles de programadores/as como tú a ser mejores Pythonistas

📩 Recibe de vez en cuando trucos y scripts Python y las últimas novedades del blog

* Al enviar el formulario confirmas que aceptas la POLITICA DE PRIVACIDAD

¿Quieres ser expert@ en PYTHON?

j2logo-pythonistas

❤️ He ayudado a miles de programadores/as como tú

📩 Recibe trucos, scripts y las novedades del blog

¿Quieres dominar Python?

Python, Guía para ser un Pythonista

El curso con el que aprender el lenguaje desde cero. Con mi soporte y ayuda.

OFERTA BLACK FRIDAY

35% de descuento