这是我的目录结构:
.
`-- parent
|-- child
| |-- globalvar.py
| |-- __init__.py
| `-- subchild
| |-- __init__.py
| `-- module.py
`-- main.py
子目录中的globalvar.py包含我想在我的应用程序中使用的全局变量:
globalvar.py
def variables():
global event_id
event_id = 2100
在main.py中,我通过import调用globalvar.py来初始化(child.globalvar.variables):
main.py
import child.globalvar
from child.subchild.module import display
child.globalvar.variables()
display()
这是我在子目录下的module.py文件中的内容:
from ..globalvar import variables
def display():
print globalvar.event_id
这是我执行main.py时获得的回溯:
追踪(最近一次呼叫最后一次):
File "main.py", line 6, in <module>
display()
File "/parent/child/subchild/module.py", line 5, in display
print globalvar.event_id
NameError: global name 'globalvar' is not defined
我该如何解决这个问题?
答案 0 :(得分:0)
我可以通过更改module.py文件中的import语句来修复它:
<强> BEFORE:强>
from ..globalvar import variables
<强> AFTER:强>
from .. import globalvar