如果我的Python库topmost
的结构如下:
topmost
/__init__.py
/submodule
/__init__.py
是否有可能topmost.__init__.py
访问topmost.submodule.__init__.py
中的全局变量?
对于topmost.submodule.__init__.py
,应该有一些全局变量:
def characterize(input):
global abc
abc = load_abc_model()
return abc.func(input)
我在topmost.__init__.py
中尝试过这个方法,但是topmost.submodule.__init__.py
中的全局变量仍然无法访问:
from __future__ import absolute_import
from topmost import submodule
__import__('submodule', globals())
但是只有abc
全局变量在最顶层是不可访问的
当函数第一次执行时,通过/在函数中声明/定义的全局变量将出现(在全局范围内)
证明:
使用当前设置:
以及:
topmost.submodule.abc
只有在调用了topmost.submodule.characterize()
之后才会生效相关问题 更多 >
编程相关推荐