AttributeError:'module'对象没有属性'request'

时间:2014-03-09 06:01:44

标签: python python-3.x python-3.3

当我在Python中运行以下代码时 - 3.3:

import urllib
tempfile = urllib.request.urlopen("http://yahoo.com")

我收到以下错误:

enter image description here

我这样做也是为了验证:

enter image description here

我做错了什么?提前谢谢!

4 个答案:

答案 0 :(得分:117)

导入urllib.request而不是urllib

import urllib.request

答案 1 :(得分:2)

Interestingly, I noticed some IDE-depending behavior.

Both Spyder and PyCharm use the same interpreter on my machine : in PyCharm I need to do

import urllib.request

while in Spyder,

import urllib

does fine

答案 2 :(得分:1)

如果这是在我的PyCharm上,请确保您的文件名不是urllib.py。

答案 3 :(得分:0)

  • 在可视代码中,您必须编写import urllib.request而不是仅仅导入urllib。
  • 此外,每当发生诸如模块x没有属性y之类的错误时,这是因为您将当前文件命名为与尝试导入的包相同的名称。
  • 因此,python中import的工作方式是,它首先搜索当前目录,如果找到了您正在寻找的模块/软件包“ x”,则假定已找到目标文件,然后搜索“ y'。而且由于您尚未定义“ y”,因此会发生上述错误。