【问题标题】:urllib2.urlopen - AttributeError: 'module' object has no attribute 'urlopen' [duplicate]urllib2.urlopen - AttributeError:“模块”对象没有属性“urlopen”[重复]
【发布时间】:2017-11-22 11:58:24
【问题描述】:
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'

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

【问题讨论】:

  • 编辑问题以使其完全不同,这违背了回答问题的目的,并使该线程对未来的读者毫无用处。如果需要,请打开一个新问题。我回滚了你原来的问题。如果您还有其他疑问,请先关闭此问题并发布一个新问题。

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


【解决方案1】:

从你的traceback来看,你的cwd中有一个文件叫urllib.py,你不能这么叫,因为urllib2需要导入一个也叫urllib的模块。它目前正在尝试导入位于D:\Python\Python Test codes\urllib.py 的文件。

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

注意:您永远不应该更改库的源代码。它把图书馆弄得一团糟。

【讨论】:

  • 现在显示上述错误
  • @A3L2J 你真的希望人们解决你所有的问题吗?您的问题的主要主题已得到解答。关闭它并打开一个新的。
  • 请不要发布另一个问题来代替您现有的问题,请提出一个新问题。但是,我认为这是不言自明的,您无法访问当前设置的网页,因为网站拒绝连接,您可以尝试使用https://yts.ag 或尝试设置您自己的用户代理
【解决方案2】:

查看您的回溯中的这两行:

 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 与其内置的混淆了。您需要做的就是重命名您的文件,它应该可以工作。

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

【讨论】:

  • 现在显示上述错误
  • 嗯....我看不出有什么区别...??
猜你喜欢
  • 2011-04-27
  • 1970-01-01
  • 2018-03-02
  • 2018-07-07
  • 2017-04-22
  • 2015-09-27
  • 1970-01-01
  • 2016-05-22
  • 1970-01-01
相关资源
最近更新 更多