urllib2.urlopen - 属性错误:'module'对象没有属性'urlopen'


import urllib2
response=urllib2.urlopen("http://yts.ag")
print response.info()
response.close()

上面的程序在python 2.7中显示了以下错误。

Traceback (most recent call last):
  File "url_test.py", line 1, in <module>
    import urllib2
  File "C:Python27liburllib2.py", line 111, in <module>
    from urllib import (unwrap, unquote, splittype, splithost, quote,
  File "D:PythonPython Test codesurllib.py", line 4, in <module>
    "Names and Addresses, URIs, URLs, URNs, URCs", at
AttributeError: 'module' object has no attribute 'urlopen'

我尝试替换库文件,但没有帮助。

从您的回溯来看,它表明您的 cwd 中的一个文件被称为 urllib.py ,您不能这么称呼它,因为urllib2需要导入一个也名为 urllib 的模块。它当前正在尝试导入位于D:PythonPython Test codesurllib.py的文件。

要修复此错误,您只需重命名该文件。

注意:您永远不应该乱七八糟地更改库的源代码。它会把图书馆搞砸。

查看回溯中的这 2 行:

 File "C:Python27liburllib2.py", line 111, in <module>
    from urllib import (unwrap, unquote, splittype, splithost, quote,
 File "D:PythonPython Test codesurllib.py", line 4, in <module>
    "Names and Addresses, URIs, URLs, URNs, URCs", at

您的一个文件与urllib2调用的内置模块之一之间存在明显的命名冲突。它使您的urllib.py与其内置的混淆。您需要做的就是重命名文件,它应该可以工作。

注意:切勿将文件命名为与您使用的库相似,否则会遇到一些"意外"错误。

最新更新