[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