Python 包无法在另一个文件中看到全局变量

问题描述 投票:0回答:1

我对我正在创建的 Python 包感到非常有趣。但是我有一个问题;

一个应该是全局的变量是看不到的!这是文件

__init__.py
main.py
helpers.py

在 main.py 中我有以下内容

from .helpers import *
class scene:
    def __init__(self,variables):
        self.variables = variables

global _scene
_scene = scene(100)

所以我正在制作一个应该可以全局访问的_场景。然而,这在 helpers.py 中不起作用;

from .main import *
print(_scene)

当我运行时,出现错误:

NameError: name '_scene' is not defined

我觉得

__init__.py
还可以

from .main import *
from .helpers import *

我错过了什么?希望您的意见!

python global
1个回答
1
投票

如果您想使用文件中的全局变量并在其他文件中使用它们,反之亦然,这是一个坏主意。它产生了循环依赖。如果您需要在两个文件中使用全局变量,您可以定义第三个文件

MyGlobals.py
并在那里声明全局变量。然后将该文件导入到
helpers.py
main.py
并通过
MyGlobals._scene

访问
© www.soinside.com 2019 - 2024. All rights reserved.