代码之家  ›  专栏  ›  技术社区  ›  Pruthvi Raj

AttributeError:“module”对象没有属性“request”

  •  76
  • Pruthvi Raj  · 技术社区  · 12 年前

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

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

    我收到以下错误:

    enter image description here

    我这样做也是为了验证:

    enter image description here

    我做错了什么?

    4 回复  |  直到 6 年前
        1
  •  153
  •   falsetru    5 年前

    这个 urllib 模块已被拆分为多个部分,并在Python 3中重命名为 urllib.request , urllib.parse urllib.error .


    进口 URL库请求 而不是 URL库 .

    import urllib.request
    
        2
  •  3
  •   JB Lepetit    9 年前

    有趣的是,我注意到一些依赖IDE的行为。

    Spyder和PyCharm在我的机器上使用相同的解释器:在PyCharm中,我需要

    导入urllib.request

    而在Spyder中,

    导入urllib

    做得很好

        3
  •  1
  •   Anonymous Person    9 年前

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

        4
  •  0
  •   Ashraf    6 年前
    • 在可视化代码中,您必须编写importurllib.request,而不仅仅是importurllib。
    • 此外,每当出现诸如 模块x没有属性y ,这是因为您将当前文件命名为与要导入的包相同。
    • 因此,python中的import的工作方式是首先搜索当前目录,如果它找到了您要查找的模块/包“x”,那么它就假设找到了目标文件,并搜索“y”。因为你没有定义“y”,所以出现了上述错误。