[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