我目前正试图推出一些更大的项目。这就是我决定使用子模块的原因。看看项目结构:
/sandbox
__init.py__
constants.py
/sub1
__init__.py
foo.py
在我的
constants.py
文件中,我声明了一个全局变量:
MYGLOBAL = 42
我想利用它的价值
foo.py
. 此文件有两个测试功能:
def foofunc():
return 'I am foo.'
def constfunc():
return 'I am {MYGLOBAL}.'
另外,我把这个代码
/sandbox/sub1/__init__.py
:
from .foo import *
from sandbox.constants import *
现在,当我使用我的解释器时,我尝试使用这两个函数:
>> import sandbox.sub1
>> sandbox.sub1.foofunc()
'I am foo.'
>> sandbox.sub1.MYGLOBAL
42
>> sandbox.sub1.constfunc()
NameError: name 'MYGLOBAL' is not defined
我如何才能访问它?python版本是3.6。
谢谢!