[Python-es] Lectura columnas de valores de un fichero

Miquel Llover miquel en llover.org
Lun Jul 8 14:08:08 CEST 2002


Buenas de nuevo,

Tengo dudas sobre el funcionamiento de "fichero.readlines(size)". Tengo 
entendido que te lee un bloque del fichero con tantos bytes (a lo sumo) 
como indique "size". Lo he probado y efectivamente me lee un trozo del 
fichero (indicandole size = 20480 parece que me lee aprox. unas 20K). Cómo 
lo hago para decirle que me lea los siguientes bloques hasta el final del 
fichero?

Gracias,

Miquel

At 16:20 22/05/02, you wrote:

>Para ficheros tan grandes, es mejor leer bloques grandes y luego 
>procesarlos en memoria. Lo ideal sería leer todo el fichero con f.read(), 
>pero es mejor no abusar de los recursos cuando se tiene un fichero tan 
>grande. Utiliza f.readline o f.readlines pasando como argumento la 
>cantidad de bytes máxima para leer.
>
>Una vez que tengas una línea, bastará que emplees el rebanado de 
>secuencias. Por ejemplo:
>
>lineas=f.readlines(100000)
>col=[ linea[0:4] for linea in lineas ]
>
>Así se obtendría una lista con la primera columna de 4 caracteres. (La 
>lectura del fichero se limita a bloques de 100Kb de memoria).

------------------------------------------------
Miquel Llover
<miquel en llover.org>
------------------------------------------------






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