【问题标题】:Import via relative path global variables module通过相对路径全局变量模块导入
【发布时间】:2017-10-04 17:34:47
【问题描述】:

这是我的目录结构:

 .
`-- 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):

ma​​in.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 时得到的回溯:

Traceback(最近一次通话最后一次):

  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

我该如何解决这个问题?

【问题讨论】:

    标签: python global-variables python-import relative-path


    【解决方案1】:

    我可以通过更改我的 module.py 文件中的导入语句来修复它:

    之前:

    from ..globalvar import variables
    

    之后:

    from .. import globalvar
    

    【讨论】:

      猜你喜欢
      • 2017-08-28
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      • 2018-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多