Downloading binary files - Python3

Anders Eriksson andis59 at gmail.com
Sat Mar 21 09:05:57 EDT 2009


Hello,

I have made a short program that given an url will download all referenced
files on that url.

It works, but I'm thinking it could use some optimization since it's very
slow.

I create a list of tuples where each tuple consist of the url to the file
and the path to where I want to save it. E.g (http://somewhere.com/foo.mp3,
c:\Music\foo.mp3)

The downloading part (which is the part I need help with) looks like this:
def GetFiles():
    """do the actual copying of files"""
    for url,path in hreflist:
        print(url,end=" ")
        srcdata = urlopen(url).read()
        dstfile = open(path,mode='wb')
        dstfile.write(srcdata)
        dstfile.close()
        print("Done!")

hreflist if the list of tuples.

at the moment the print(url,end=" ") will not be printed before the actual
download, instead it will be printed at the same time as print("Done!").
This I would like to have the way I intended.

Is downloading a binary file using: srcdata = urlopen(url).read()
the best way? Is there some other way that would speed up the downloading?

// Anders
-- 
English is not my first or second language
so any error or insult are done in the translation!
Please correct my English so I may become better at it!



More information about the Python-list mailing list