簡體   English   中英

AttributeError: 'module' 對象沒有屬性 'request'

[英]AttributeError: 'module' object has no attribute 'request'

當我在 Python 3.3 中運行以下代碼時:

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

我收到以下錯誤:

在此處輸入圖片說明

我也這樣做來驗證:

在此處輸入圖片說明

我究竟做錯了什么?

urllib模塊已被拆分為多個部分,並在 Python 3 中重命名為urllib.requesturllib.parseurllib.error


導入urllib.request而不是urllib

import urllib.request

有趣的是,我注意到了一些依賴於 IDE 的行為。

Spyder 和 PyCharm 在我的機器上使用相同的解釋器:在 PyCharm 中我需要做

導入 urllib.request

在 Spyder 時,

導入 urllib

很好

如果這是在 PyCharm 上,就像我的一樣,請確保您的文件名不是 urllib.py。

  • 在可視化代碼中,你必須編寫 import urllib.request 而不是 import urllib。
  • 此外,每當出現諸如模塊 x 沒有屬性 y 之類的錯誤時,這是因為您將當前文件命名為與您嘗試導入的包相同。
  • 因此,python 中 import 的工作方式是首先搜索當前目錄,如果找到了您正在尋找的模塊/包 'x',則假定它已找到目標文件,並搜索 'y'。 並且由於您尚未定義 'y',因此會發生上述錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM