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

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

最佳答案

在python 3中urlopenurllib.request的一部分,因此必须修改导入:

from urllib.request import urlopen

如果希望脚本在Python2和Python3中运行,可以使用:
try:
    from urllib2 import urlopen
except ImportError:
    from urllib.request import urlopen

关于python - 关于使用urllib3替换urllib2,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45014859/

10-13 06:55