如何在Python软件包中使用全局变量



我有几个我试图在软件包中创建的python函数。每个函数都存在于其自己的python文件中,并使用全局变量将某些对象返回到全局环境,其中一些对象由其他Python函数使用。

当这些功能是在Python控制台中定义的独立函数时,它们的工作正常,但是当我将它们全部放入Python软件包中时,全局变量不再以全局变量的形式返回。

为什么软件包文件不返回全局变量的函数/如何绕过此?

一个非常简单的示例:

python_function1.py

def function1(x):
    global new_table
    new_table = x

python_function2.py

def function2(new_table):
    global new_table2
    new_table2 = new_table

根据文档状态:

单个模块共享信息的规范方式 程序将创建特殊模块(通常 config或CFG (。 仅在您的应用程序的所有模块中导入 config 模块; 然后,该模块可作为全局名称可用。 因为每个模块只有一个实例,所以对 模块对象在任何地方都会反映。

您可以检查此文档以示例代码:

https://docs.python.org/3/faq/programming.html#how-do-i-i-share-global-variables-across-modules

相关内容

  • 没有找到相关文章

最新更新