大部分场景需要相同的前置条件,为了避免代码冗余以及重复造轮子,可以把需要的东西定义为全局变量,在使用的时候调用即可。
python在同一个模块内变量是可以直接使用的,但是无法使用别的模块的变量。此时可以建一个专门的全局变量管理模块来实现跨文件(.py)的全局变量。
1.建一个glo.py文件
def _init(): # 初始化
global _global_dict
_global_dict = {}
def set_value(key, value):
""" 定义一个全局变量 """
_global_dict[key] = value
def get_value(key, defValue=None):
""" 获得一个全局变量,不存在则返回默认值 """
try:
return _global_dict[key]
except KeyError:
return defValue
2.建全局管理模块,config.py用来管理,配置所有需要使用的全局变量
from *** import glo
gol._init() #先必须在主模块初始化(只在Main模块需要一次即可)
#定义跨模块全局变量
gol.set_value('name',tom)
gol.set_value('age',16)
.....
3.在你的py文件调用全局变量
from *** import gol,config #两个都需要导入,否则会找不到get_value函数
nameNew= gol.get_value('name') #不带值,使用的是config内的默认值
ageNew = gol.get_value('age',18) #也可以重新为其赋值