[Python-es] Número de lineas de un fichero

Arnau Sanchez arnau en ehas.org
Mar Ago 28 10:30:57 CEST 2007


Xin escribió:

> Esto seria parecido a esto:
>     lineas = reduce(lambda x,y: x+y,[1 for l in file('fichero.txt')])
> Esto evitar que lo cargue todo en memòria.

Eso se evita fácilmente usando generadores ( ) en vez de LC [ ]. De 
todos modos, ten en cuenta que "reduce(lambda x, y: x+y, it)" es 
equivalente a "sum(it)", así que es preferible emplear esta última.

> Claro que lo que si harà serà generar una lista con tantos "1" como líneas.
> 
> Quizà mejor así:
> 
> lineas = 0
> for l in file('fichero.txt'):
>     lineas += 1

La opción más clara, aunque más verbosa.




Más información sobre la lista de distribución Python-es