关于使用urllib3替换urllib2

时间:2017-07-10 14:34:12

标签: python urllib2 urllib urllib3

我试图使用以下代码段。我使用的是Python 3,它有urllib3而不是urllib2。我想知道如何在fh = urllib2.urlopen('http://people.ku.edu/~gbohling/geostats/WGTutorial.zip') data = fh.read()中替换此部分urllib3。感谢。

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()

1 个答案:

答案 0 :(得分:4)

在python 3中urlopenurllib.request的一部分,所以你必须修改你的导入:

from urllib.request import urlopen  

如果您希望脚本在python 2和python 3中运行,您可以使用:

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