user297850
user297850

Reputation: 8015

regarding using urllib3 to replace urllib2

I was trying to use the following code segment. I am using Python 3, which has urllib3 instead of urllib2. I would like to know how replace this part fh = urllib2.urlopen('http://people.ku.edu/~gbohling/geostats/WGTutorial.zip') data = fh.read() in urllib3. Thanks.

clusterfile = 'ZoneA.dat'
if not os.path.isfile(clusterfile):
    fh = urllib2.urlopen('http://people.ku.edu/~gbohling/geostats/WGTutorial.zip')
    data = fh.read()
    fobj = StringIO.StringIO(data)
    myzip = zipfile.ZipFile(fobj,'r')
    myzip.extract(clusterfile)
    fobj.close()
    fh.close()

Upvotes: 4

Views: 12964

Answers (1)

t.m.adam
t.m.adam

Reputation: 15376

In python 3 urlopen is part of urllib.request so you have to modify your imports:

from urllib.request import urlopen  

If you want your script to run in python 2 and python 3 you can use:

try:  
    from urllib2 import urlopen
except ImportError:  
    from urllib.request import urlopen

Upvotes: 8

Related Questions