在Python中将全局变量传递给另一个文件?

在Python中将全局变量传递给另一个文件?,python,global-variables,Python,Global Variables,我有 及 如何处理所有这些全局变量? PS:我不想为所有功能添加a、b、c、d、e、f、g,必须执行以下操作是非常多余的: 使用dict包装这些全局变量,那么函数只需一个参数就不需要传递它们了。如果您已经在main.py的顶部执行了导入文件1的操作,您可以直接参考文件1.a等 然而,有这么多全局变量闻起来很糟糕。您可能应该使用类进行重构。在单个程序中跨模块共享信息的规范方法是创建一个特殊模块(通常称为config或cfg)。只需在应用程序的所有模块中导入配置模块;然后,该模块将成为可用的全局名称

我有

如何处理所有这些全局变量?

PS:我不想为所有功能添加
a、b、c、d、e、f、g
,必须执行以下操作是非常多余的:


使用dict包装这些全局变量,那么函数只需一个参数

就不需要传递它们了。如果您已经在main.py的顶部执行了导入文件1的操作,您可以直接参考文件1.a等


然而,有这么多全局变量闻起来很糟糕。您可能应该使用类进行重构。

在单个程序中跨模块共享信息的规范方法是创建一个特殊模块(通常称为config或cfg)。只需在应用程序的所有模块中导入配置模块;然后,该模块将成为可用的全局名称。因为每个模块只有一个实例,所以对模块对象所做的任何更改都会反映到所有地方例如:

def useful1(a, b, c, d, e, f, g):
...
def useful2(a, b, c, d, e, f, g):
...
def bonjour(a, b, c, d, e, f, g):
...
x = 0   # Default value of the 'x' configuration setting
import config
config.x = 1
config.py:

def useful1(a, b, c, d, e, f, g):
...
def useful2(a, b, c, d, e, f, g):
...
def bonjour(a, b, c, d, e, f, g):
...
x = 0   # Default value of the 'x' configuration setting
import config
config.x = 1
mod.py:

def useful1(a, b, c, d, e, f, g):
...
def useful2(a, b, c, d, e, f, g):
...
def bonjour(a, b, c, d, e, f, g):
...
x = 0   # Default value of the 'x' configuration setting
import config
config.x = 1
main.py:

def useful1(a, b, c, d, e, f, g):
...
def useful2(a, b, c, d, e, f, g):
...
def bonjour(a, b, c, d, e, f, g):
...
x = 0   # Default value of the 'x' configuration setting
import config
config.x = 1

我认为这是不可能的,因为这些全局变量只存在于文件中。我在这里有点困惑。您希望您的全球声明具体做什么<文件顶层的code>global实际上是一条无用的语句<代码>全局仅对函数中的标识符有意义…谢谢。你能给出一个关于dict的简单例子吗?