我試圖從另一個模塊導入一個類裏面只是一個變量:導入從另一個模塊類變量
import module.class.variable
# ImportError: No module named class.variable
from module.class import variable
# ImportError: No module named class
from module import class.variable
# SyntaxError: invalid syntax (the . is highlighted)
我可以做以下的,但我寧願只導入一個變量我需要。
from module import class as tmp
new_variable_name = tmp.variable
del tmp
這可能嗎?
我正確地認爲這會導入整個模塊嗎?相當於'import module'然後'variable = module.class.variable'? – 2012-02-06 02:58:34
除了它不會綁定任何名稱到導入的模塊。是好的;'從模塊導入clazz'「導入整個模塊」,*完全相同的方式*。沒有辦法解決這個問題;類定義不能保證沒有任何意義,沒有模塊的其餘部分上下文以及類的屬性。 – 2012-02-06 03:00:22
@Alex它將始終導入* whole *模塊(但它取決於您的語句)*在腳本範圍中可用的*)。 '從x1導入x2'將加載'x1',然後在'x2'的範圍或子包中查找'x2'的位置。 – 2012-02-06 06:20:28