【问题标题】:regarding using urllib3 to replace urllib2关于使用 urllib3 替换 urllib2
【发布时间】:2017-12-14 08:29:49
【问题描述】:

我试图使用以下代码段。我正在使用 Python 3,它有 urllib3 而不是 urllib2。我想知道如何在urllib3 中替换这部分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()

【问题讨论】:

  • 不,urllib3是第三方库。 Python 3 中 urllib2 的替换是 urllib.request,你使用它的方式完全相同。

标签: python urllib2 urllib urllib3


【解决方案1】:

在 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-02
    • 2012-10-09
    • 1970-01-01
    • 2019-01-08
    • 2011-12-20
    • 2021-11-21
    相关资源
    最近更新 更多