简体   繁体   English

关于使用urllib3替换urllib2

[英]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. 我正在使用Python 3,它具有urllib3而不是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 . 我想知道如何更换这部分fh = urllib2.urlopen('http://people.ku.edu/~gbohling/geostats/WGTutorial.zip') data = fh.read()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()

In python 3 urlopen is part of urllib.request so you have to modify your imports: 在python 3中, urlopenurllib.request一部分,因此您必须修改导入:

from urllib.request import urlopen  

If you want your script to run in python 2 and python 3 you can use: 如果要让脚本在python 2和python 3中运行,可以使用:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM