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'
我尝试更换库文件但没有帮助。
答案 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;错误。