[Python] Leggere n righe da un file.

Manlio Perillo manlio.perillo a gmail.com
Lun 13 Maggio 2013 15:08:17 CEST


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 13/05/2013 12:43, Giampaolo Rodola' ha scritto:
> Il 12 maggio 2013 22:51, Gollum1 <gollum1.smeagol1 a gmail.com> ha scritto:
>> 2013/5/12 Carlos Catucci <carlos.catucci a gmail.com>:
>>> Allora un semplice help su readlines
>>>
>>> readlines(...)
>>>     readlines([size]) -> list of strings, each a line from the file.
>>>
>>>     Call readline() repeatedly and return a list of the lines so read.
>>>     The optional size argument, if given, is an approximate bound on the
>>>     total number of bytes in the lines returned.
>>
>> quindi dovrebbe essere un numero di byte finito per ogni riga? e non
>> il numero di righe?
> 
> No, è il numero approssimativo di byte che viene letto finchè non
> viene incontrato almeno un separatore di linea.
> Non c'entra con il numero di righe che vengono tornate.
> E' il parametro che viene passato internamente a read(2) [1] insomma,
> e sui dati tornati da read(2) solo successivamente viene fatta la
> ricerca dei separatori.

Non è proprio così.
Se passi, ad esempio, size=512M, vengono comunque fatte internamente una
serie di read usando un buffer più piccolo.

Il parametro di readlines funziona esattamente come spiegato nella
documentazione.  Essendo un hint, però, non è detto che passando
size=10, vengano letti solo 10 bytes del file.  L'implementazione in
CPython 2.x legge inizialmente 8192 Kb.

> [...]


Ciao  Manlio
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAlGQ5cEACgkQscQJ24LbaURxwgCfSPZb1t8YypwdOeVeKKBDszTo
IEcAn18C/6SIHsgxc6CXaTxVWJpF/WIS
=8d6z
-----END PGP SIGNATURE-----


Maggiori informazioni sulla lista Python