python通过配置文件共享全局变量

原创 小才子  2019-08-06 11:28:25  阅读 848 次 评论 0 条
摘要:

 在使用Python编写的应用的过程中,有时会遇到多个文件之间传递同一个全局变量的情况,此时通过配置文件定义全局变量是一个比较好的选择。首先配置config.py模块,config需要设置get_xxx和set_xxx的方法提供对外的接口class global_var:     '''需要定义全局变量的放在这里,最好定义一个初始值'''     n

 

在使用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


 

本文地址:http://diyfox.com/article/50.html
版权声明:本文为原创文章,版权归 小才子 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?