global关键字可以声明全局变量,但仅限于一个文件中(其他文件可以通过import导入,但修改并不影响原始值)
若想在不同模块(.py文件)中使用同一个全局变量,可以使用以下方法:专门为全局变量定义一个“全局变量管理模块”
1. 全局变量管理模块(globalVar.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: # 查找字典的key不存在的时候触发 return defValue
2. 设置全局变量(a.py)
from common import globalVar as gl # 初始化全局变量,只在main模块初始化一次即可 gl._init() # 为全局变量赋值 gl.set_value('verifyCode', verifyCode) gl.set_value('verifyId', verifyId)
3. 使用全局变量(b.py)
from common import globalVar as gl gl.get_value('verifyId'), gl.get_value('verifyCode'),