[Python-es] Número de lineas de un fichero
Arnau Sanchez
arnau en ehas.org
Lun Ago 27 23:25:49 CEST 2007
> El 27/08/2007, a les 20:20, en/na bameda va escriure:
>> quiero saber cuantas lineas tiene un fichero de texto para realizar
>> con este numero unos cálculos dentro de un programa en python. Solo
>> conozco el nombre y ubicación del fichero de texto. ¿Hay alguna
>> función predefinida o tengo que leer el fichero entero y contar las
>> lineas a mano?
Xin escribió:
> lineas = len(open('fichero.txt').readlines())
Para ficheros pequeños no hay problema, en aquellos realmente grandes
tendrías algún problema con el uso de memoria (ya que el readlines lo
lee entero).
Aprovechando que al iterar objetos fichero de texto obtenemos las
líneas, se podría calcular la "longitud" de ese iterador. Se me ocurre:
iterlen = lambda it: sum(1 for _ in it)
lineas = iterlen(file("fichero.txt"))
Aunque seguro que hay alguna forma mejor de hacer el iterlen.
Más información sobre la lista de distribución Python-es