使全局变量在多个模块中可用

时间:2014-11-11 14:06:26

标签: python import module

我正在创建一个由多个模块组成的应用程序。有一个main.py文件,它将是运行该应用程序的文件。 main.py文件将加载配置文件并将它们放在'config'变量中。它还将导入application-module-file(保存应用程序本身的源代码的文件,a.k.a。应用程序类)并启动实例。

我在编写Python方面不是很有经验,我最大的问题是如果我以正确的方式做,通过使用主文件来处理所有需要的东西(例如加载配置文件)。我现在遇到的问题是我无法从任何其他模块和/或Python文件访问main.py文件中定义的'config'变量。

是否可以为配置值exc创建一个全局变量?我知道在PHP中,我曾经创建了一个包含所有特定全局参数的单例对象。我还可以创建一个全局的“ROOT”变量来保存应用程序根目录的完整路径,这是加载/导入新文件所必需的,据我所知,这在Python中也是不可能的。

我希望有人可以帮助我解决这个问题,或者让我朝着正确的方向前进,这样我就可以继续这个项目了。

1 个答案:

答案 0 :(得分:0)

答案似乎是马蒂亚斯的答案:

使用AppName.modules导入设置,然后使用settings.value访问模块中的数据。根据PEP-8,Python代码的样式指南,应该避免使用通配符导入,并且在这种情况下实际上会导致不良行为。

谢谢大家的帮助!