python中,global定义的全局变量只能在同一个文件中使用,当在一个工程中跨文件调用时,就不行了。
如何跨文件调用全局变量呢?
可以在工程中,定义一个全局变量管理文件 globalvar.py,然后把该文件import进去。
globalvar.py
#globalvar.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
def _init():
global _global_dict
_global_dict = {}
def set_value(name, value):
_global_dict[name] = value
def get_value(name, defvalue=none):
try:
return _global_dict[name]
except keyerror:
return defvalue
之后,在a文件中定义全局变量val_a:
a.py
#a.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import globalvar as gl #添加全局变量管理模块
gl._init() #初始化全局变量管理模块
gl.set_value('val_a',80 ) #设置变量值 val_a = 80
val_b = gl.get_value('val_a') #a文件需要用val_a的值,也需要添加这行代码来得到它的值
b文件中需要用到val.a:
b.py
#b.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import globalvar as gl #引用全局变量管理模块
val_b = gl.get_value('val_a') #得到val_a的值
#下面就可以使用了