[Python] Presentazione nuovo utente e prima domanda.

Manlio Perillo manlio.perillo a gmail.com
Mar 7 Maggio 2013 11:18:31 CEST


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

Il 06/05/2013 23:11, Gollum1 ha scritto:
> Ciao a tutta la lista,
> 

Ciao e benvenuto.

> [...]
> eccomi alla prima domanda:
> 
> dovendo ricevere un file dallo standard input, come posso sapere la
> dimensione finale del file?
> 
> mi spiego meglio:
> 
> ricevo sullo stdin un file, lo leggo a blocchi con un loop e una read
> bufferizzata con un buffer di 1MB al giro.
> 

1MB forse è poco efficiente, meglio 4MB.

> la soluzione più semplice sarebbe mettere un contatore, a cui aggiungo
> ad ogni ciclo la dimensione del buffer, e fin qui, sembra una
> banalità. il problema arriva con l'ultimo blocco, anche se io prelevo
> dal file con una read da 1MB, i dati che vengono passati saranno
> probabilmente meno. La domanda spontanea è: posso in qualche modo
> sapere quanto di quel buffer è utilizzato ad ogni ciclo (pieno per
> tutti i cicli, una parte all'ultimo)?

Semplice: `stdin.read()` restituisce una stringa, e ti basta calcolare
la sua lunghezza con `len(s)`.  Quando non c'è più niente da leggere,
`stdin.read()` restituisce una stringa vuota.

> [...]


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

iEYEARECAAYFAlGIxucACgkQscQJ24LbaUTPwACfTGQt5HYzTSQLybjPwXgBQGZa
LDYAn1BRQFkSbD2SaUl1/dhPGTT+RHxs
=Tkcu
-----END PGP SIGNATURE-----


Maggiori informazioni sulla lista Python