-----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----- _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python