[Python] urllib.urlretrieve e byte scaricati

simozack simozack a yahoo.it
Lun 15 Giu 2009 14:54:05 CEST


Stavo facendo un po' di esperimenti con urllib e volevo implementare
una sotto-specie di wget per capirne il funzionamento.

Leggendo un po' di doc in giro, sono arrivato ad una cosa del genere:
-------------------
 file_address = r"http://doc.trolltech.com/4.4/qtscript.html"

print "Downloading file: ", file_address
print urllib.urlopen(file_address).info()

progress_bar = ProgressBar(urllib.urlopen(file_address).info()['content-length'])

urllib.urlretrieve(file_address, file_temp, progress_bar.update)
-----------------
dove ProgressBar è una classe che semplicemente stampa il progressivo a video.

Il punto è che 'content-lenght' mi da una dimensione di 119.812 byte,
mentre la somma delle dimensioni dei blocchi mi da 131.072.
E qui casca l'asino (tenete in considerazione che non ho un background
informatico e sono un autodidatta che nella vita fa tutt'altro): come
faccio a capire quanto effettivamente ha scaricato, considerando che
urlretrieve mi da le dimensioni dei blocchi? Devo per caso epurare
qualche byte?

Giusto per la cronaca, il file salvato sul disco ha dimensione 119.812.

Grazie ancora,
Simone.


Maggiori informazioni sulla lista Python