假设我有一个app.py定义全局变量的主模块GLOBVAR = 123。此外,此模块导入bar位于另一个模块中的类foo:
from foo import bar
在主模块中app,我现在从类中调用一个方法bar。在该方法中,我想GLOBVAR从主模块访问值app。
一种直接的方法是简单地GLOBVAR作为参数传递给方法。但是Python中是否还有另一种允许我GLOBVAR直接访问的解决方案?
在模块foo中,我尝试了以下方法之一:
from app import GLOBVAR # option 1
import app.GLOBVAR # option 2
但是,这两个选项都会在运行时导致以下错误:
ImportError: cannot import name bar
我知道这会导致 和 之间的循环app导入foo。那么,在 Python 中有解决方案,还是我必须将值作为参数传递给函数?