进口

2017-10-04 124 views
0

这里是我的目录结构:进口

. 
`-- 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,我打电话通过进口globalvar.py初始化(child.globalvar.variables):

main.py

import child.globalvar 
from child.subchild.module import display 

child.globalvar.variables() 

display() 

以下是我在目录subchild下我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

我能够在我的module.py文件更改导入语句来解决这个问题:

BEFORE:

from ..globalvar import variables 

AFTER:

from .. import globalvar