簡體   English   中英

“as”子句如何影響 Python 中的“import”?

[英]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.

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