quitar salto de linea readline
Chema Cortes
pych3m4 en gmail.com
Lun Feb 5 19:42:42 CET 2007
El 2007/2/5, Daniel Muñiz Fontoira <dmunhiz en gmail.com> escribió:
> otra cosa
> Si hago esto:
>
> lineas=(l.rstrip('\n') for l in file("config.ini","rw"))
> for l in lineas:
> print l
>
> muestra todo pero si quiero solo la línea 2, hay forma de decir
> variable= a línea 2
> he probado variable=lineas[0] y variable=lineas(0) y nada.
Por fijar conceptos, lo que quieres es acceso aleatorio a las líneas
de un fichero secuencial. Nada te va a evitar tener que leer todo el
fichero hasta llegar a la línea deseada.
Tienes tres posibilidades:
1) volcar todo el fichero a una lista en memoria y trabajar desde allí
linea_2=list(lineas)[2]
2) en plan cutre, leer línea tras línea hasta llegar a la deseada
linea_2=(l for i,l in enumerate(lineas) if i==2).next()
3) manejar los iteradores con el módulo 'itertools'
from itertools import islice
n=2
linea_2=islice(lista,n,n+1).next()
Puede que exista algún método más elegante.
Más información sobre la lista de distribución Python-es