在使用Python编写的应用的过程中,有时会遇到多个文件之间传递同一个全局变量的情况,此时通过配置文件定义全局变量是一个比较好的选择。
首先配置config.py模块,config需要设置get_xxx和set_xxx的方法提供对外的接口
class global_var: '''需要定义全局变量的放在这里,最好定义一个初始值''' name = 'my_name' # 对于每个全局变量,都需要定义get_value和set_value接口 def set_name(name): global_var.name = name def get_name(): return global_var.name
import config
# 引用全局变量
name = config.get_name()
# 修改全局变量
config.set_name('new_name')
# 查看修改后的全局变量
print(config.get_name())实践一下:
建立三个文件,分别是
main.py
import config
import time
from change import change_name
for i in range(100):
name = config.get_name()
print(name)
config.set_name('new_name')
print(config.get_name())
time.sleep(1)
change_name()config.py
class global_var: name = 'my_name' def set_name(name): global_var.name = name def get_name(): return global_var.name
change.py
import config
def change_name():
config.set_name('new_name1111')
print(config.get_name())然后执行main.py,结果如下,出现两次new_name1111 说明在多个文件之间已经共享了name这个变量。
new_name
new_name1111
new_name1111
new_name
new_name1111
new_name1111
new_name
发表评论