ich habe folgende kleine Funktion geschrieben um den Inhalt einer URL in eine Datei zu schreiben.
Meine Downloadfunktion gibt die Werte die Größe der Datei, den bereits runter geladenen Teil und die Geschwindigkeit an eine Callbackfuntion weiter.
Hier ist die Funktion:
Code: Alles auswählen
import time,urllib
def download(url, fd, callback = False):
urlobj = urllib.urlopen(url)
chunksize = 1000
try:
size = int(urlobj.info().getheader('content-length'))
except:
size = False
ready = False
downloaded = 0
while(not ready):
time1 = time.time()
chunk = urlobj.read(chunksize)
fd.write(chunk)
time2 = time.time()
diff = time2 -time1
downloaded += chunksize
speed = chunksize / diff
callback(size, downloaded, speed)
if chunk =='':
ready = True
Wie sollte der Wert der Variable chunksize gewählt werden?
(also die Größe des Stückes welches in der Schleife runtergeladen wird)
Gruß dodo47