def _init():
global _global_dict
_global_dict = {}
def update_value(name,value):
_global_dict.update({name:value})
def get_value(name,defValue=None):
try:
return _global_dict[name]
except KeyError:
return defValue
这是全局变量的代码,我想弄一个可以跨文件的全局变量字典
但是在其他文件定义name和value时只能做到显示最新的内容,输出之前添加的name和value触发keyerror
import globalvar as gl
def xuanze1():
gl._init()
gl.update_value('kaf_1',0)
这是第一个添加文件的代码
import globalvar as gl
def xuanze2():
gl._init()
gl.update_value('kaf_2', 0)
这是第二个
如果先加第一个再加第二个,那么显示就只有kaf_2和kaf_2的值,第一个被覆盖了,颠倒同理
(我还试过 _global_dict[name]=value,结果也是覆盖而不是添加)
求帮助
不同文件之间导入同一个文件是独立的,不影响,你要有关联,可以globalvar的文件被f1文件导入,f2导入f1文件,这样递进就行了