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


Posted in Python onJanuary 11, 2019

在使用Python编写的应用的过程中,有时会遇到多个文件之间传递同一个全局变量的情况,此时通过配置文件定义全局变量是一个比较好的选择。

首先配置config.py模块,config需要设置get_xxx和set_xxx的方法提供对外的接口。

config.py

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

然后在其他模块引用:

test.py

import config
# 引用全局变量
name = config.get_name()
# 修改全局变量
config.set_name('new_name')
# 查看修改后的全局变量
print(config.get_name())

注意:

1. import配置文件时,不要from xxx import *, 而要import config.py

2. 在config.py文件中,用set_xxxValue()和get_xxxValue来提供外部访问接口,这个好处是,可以让全局变量在每次调用的时候都能得到刷新

3. 其他文件使用get_xxxValue()获取到全局变量的最新值

另外,对于global这个声明,他只是在同一个文件中有效,并不能跨文件,就是夸module.所以不要妄想通过global来控制不同文件间的共享变量。

以上这篇python通过配置文件共享全局变量的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现在sqlite动态创建表的方法
May 08 Python
python logging日志模块的详解
Oct 29 Python
为什么入门大数据选择Python而不是Java?
Mar 07 Python
Python-OpenCV基本操作方法详解
Apr 02 Python
Python将多个list合并为1个list的方法
Jun 27 Python
Python 运行 shell 获取输出结果的实例
Jan 07 Python
Pycharm 实现下一个文件引用另外一个文件的方法
Jan 17 Python
用Python实现将一张图片分成9宫格的示例
Jul 05 Python
PHP基于phpqrcode类库生成二维码过程解析
May 28 Python
Python headers请求头如何实现快速添加
Nov 03 Python
基于PyTorch中view的用法说明
Mar 03 Python
Python万能模板案例之matplotlib绘制直方图的基本配置
Apr 13 Python
Python设计模式之命令模式原理与用法实例分析
Jan 11 #Python
Python设计模式之职责链模式原理与用法实例分析
Jan 11 #Python
对Python中实现两个数的值交换的集中方法详解
Jan 11 #Python
对Python模块导入时全局变量__all__的作用详解
Jan 11 #Python
Python实现批量执行同目录下的py文件方法
Jan 11 #Python
python多个模块py文件的数据共享实例
Jan 11 #Python
Python设计模式之享元模式原理与用法实例分析
Jan 11 #Python
You might like
PHP排序算法的复习和总结
2012/02/15 PHP
PHP 正则判断中文UTF-8或GBK的思路及具体实现
2013/11/26 PHP
js原生态函数中使用jQuery中的 $(this)无效的解决方法
2011/05/25 Javascript
JS获取整个页面文档的实现代码
2011/12/15 Javascript
15条JavaScript最佳实践小结
2013/08/09 Javascript
jsPDF生成pdf后在网页展示实例
2014/01/16 Javascript
js中函数调用的两种常用方法使用介绍
2014/07/17 Javascript
JavaScript实现简单Tip提示框效果
2016/04/20 Javascript
bootstrap PrintThis打印插件使用详解
2017/02/20 Javascript
详解Angular2中Input和Output用法及示例
2017/05/21 Javascript
Javascript实现跨域后台设置拦截的方法详解
2017/08/04 Javascript
vue element-ui 绑定@keyup事件无效的解决方法
2018/03/09 Javascript
vue中组件的过渡动画及实现代码
2018/11/21 Javascript
在JavaScript中使用严格模式(Strict Mode)
2019/06/13 Javascript
深入了解Hybrid App技术的相关知识
2019/07/17 Javascript
[54:19]完美世界DOTA2联赛PWL S2 Magma vs PXG 第二场 11.28
2020/12/01 DOTA
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
Python中使用装饰器和元编程实现结构体类实例
2015/01/28 Python
更改Ubuntu默认python版本的两种方法python-> Anaconda
2016/12/18 Python
由面试题加深对Django的认识理解
2019/07/19 Python
python爬虫请求头的使用
2020/12/01 Python
Python 中如何使用 virtualenv 管理虚拟环境
2021/01/21 Python
南非最大的花卉和送礼服务:NetFlorist
2017/09/13 全球购物
来自美国主售篮球鞋的零售商店:KICKSUSA
2017/11/28 全球购物
店长岗位的工作内容
2013/11/12 职场文书
行政主管岗位职责
2013/11/18 职场文书
最新茶叶店创业计划书
2014/01/14 职场文书
小学一年级评语大全
2014/04/22 职场文书
数控机床专业自荐信
2014/05/19 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
纪念9.18事变演讲稿
2014/09/14 职场文书
幼儿园小班工作总结2015
2015/04/25 职场文书
Pytorch可视化的几种实现方法
2021/06/10 Python
Apache Hudi的多版本清理服务彻底讲解
2022/03/31 Servers
使用Bandicam录制鼠标指针并附带点击声音,还可以添加点击动画效果
2022/04/11 数码科技
golang连接MySQl使用sqlx库
2022/04/14 Golang