如何访问从主模块调用的模块范围的变量?

时间:2014-06-17 09:32:11

标签: python module scope configparser

我需要从其他模块访问主模块中导入的模块范围的变量。

在我的应用程序中,我在同一目录中有一些模块。其中一个模块是使用configparser读取config_file.ini的模块,以便加载使用其他模块的配置变量。

我不想多次导入管理config_file.ini的模块,以避免两次打开相同文件的问题。

我没有在管理config_file.ini的模块中使用函数或clases(只是一个更新文件的函数),而不是加载变量。

图形概念:

Module_A:

# !usr/bin/python3
# -*- coding: UTF-8 -*-
import module_B
import module_C
print(module_B.my_var)
print(module_C.my_var)

Module_B:

# !usr/bin/python3
# -*- coding: UTF-8 -*-
my_var = "This is the Module B"

Module_C:

# !usr/bin/python3
# -*- coding: UTF-8 -*-
my_var = "This is the Module C"
print(module_B.my_var)

我正在使用Python3.x

我应该将它们封装在一个单独的类中吗?我对OOP没有经验: - (

2 个答案:

答案 0 :(得分:0)

模块只加载一次;后续导入重用已导入的模块

换句话说,只需在您的一个模块中加载config.ini,然后将该模块中的变量导入其他模块。

答案 1 :(得分:0)

如果要在Module_C中访问Module_B.my_var,则需要在Module_C中import Module_B