我试图从另一个模块导入一个类里面只是一个变量:导入从另一个模块类变量
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