[英]How does "as" clause affect "import" in Python?
我認為“as”子句只是作為導入模塊的別名。 但是,在以下代碼中,“import”失敗並帶有“as”子句。
import tensorflow.python.eager as eager
此語句引發以下錯誤。
Traceback (most recent call last):
File "/home/snippet/prof/importer.py", line 2, in <module>
import tensorflow.python.eager as eager
AttributeError: module 'tensorflow' has no attribute 'python'
當我刪除“as”子句時,“導入”成功。 “as”子句如何影響“import”的成敗?
from tensorflow.python import eager
導入名稱“ tensorflow.python ”,然后獲取其屬性eager
,而
import tensorflow.python.eager as eager
導入名稱“ tensorflow ”,並在其中嘗試找到屬性python
,並從中找到屬性eager
,然后它應該將其作為eager
放入您的全局命名空間中。 這是一個巨大的差異,因為在 tensorflow 的__init__.py
沒有對象python
,它代表了導入時的 tensorflow 包,它不知道可能存在的任何子包。 因此錯誤
AttributeError: 模塊“tensorflow”沒有屬性“python”
導入時不應該有“.eager”以將“eager”作為某種東西導入。
試試這個,它會正常工作:
from tensorflow.python import eager as eager
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.