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

时间:2017-06-20 05:36:39

标签: python python-2.7 urllib2 urllib python-webbrowser

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:\Python27\lib\urllib2.py", line 111, in <module>
    from urllib import (unwrap, unquote, splittype, splithost, quote,
  File "D:\Python\Python Test codes\urllib.py", line 4, in <module>
    "Names and Addresses, URIs, URLs, URNs, URCs", at
AttributeError: 'module' object has no attribute 'urlopen'

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

2 个答案:

答案 0 :(得分:1)

从您的追溯判断,它显示您的cwd中的一个文件被称为urllib.py,您不能称之为因为urllib2需要导入名为{{ 1}}。它目前正在尝试导入位于urllib的文件。

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

注意:你永远不应该改变库的源代码。 弄乱图书馆。

答案 1 :(得分:1)

查看追溯中的这两行:

 File "C:\Python27\lib\urllib2.py", line 111, in <module>
    from urllib import (unwrap, unquote, splittype, splithost, quote,

 File "D:\Python\Python Test codes\urllib.py", line 4, in <module>
    "Names and Addresses, URIs, URLs, URNs, URCs", at

您的某个文件与其中一个内置模块urllib2调用之间存在明显的命名冲突。它使您的urllib.py与内置的ffmpeg -i orgvideo.mp4 -vf subtitles="subtitle.ass" newvideo.mp4 <br> 混淆。您需要做的只是重命名您的文件,它应该可以正常工作。

注意:永远不要将您的文件命名为与您使用的库类似,否则您会遇到某些意外的&#34;错误。