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 相关文章推荐
python3编码问题汇总
Sep 06 Python
Python抓取手机号归属地信息示例代码
Nov 28 Python
Django REST为文件属性输出完整URL的方法
Dec 18 Python
Python3 replace()函数使用方法
Mar 19 Python
python绘制简单彩虹图
Nov 19 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
Jul 25 Python
Django 查询数据库并返回页面的例子
Aug 12 Python
Python自动化完成tb喵币任务的操作方法
Oct 30 Python
Python交互环境下打印和输入函数的实例内容
Feb 16 Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
Apr 23 Python
python requests.get带header
May 05 Python
浅析python 通⽤爬⾍和聚焦爬⾍
Sep 28 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/01/19 PHP
php实现根据IP地址获取其所在省市的方法
2015/04/30 PHP
动态控制Table的js代码
2007/03/07 Javascript
JavaScript使用RegExp进行正则匹配的方法
2015/07/11 Javascript
HTML5实现留言和回复页面样式
2015/07/22 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
快速掌握Node.js中setTimeout和setInterval的使用方法
2016/03/21 Javascript
[原创]Javascript 实现广告后加载 可加载百度谷歌联盟广告
2016/05/11 Javascript
AngularJS入门教程之Select(选择框)详解
2016/07/27 Javascript
jQuery实现边框动态效果的实例代码
2016/09/23 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
vue.js移动端tab组件的封装实践实例
2017/06/30 Javascript
详解vue 模版组件的三种用法
2017/07/21 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
2019/05/23 jQuery
详解为element-ui的Select和Cascader添加弹层底部操作按钮
2020/02/07 Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
2020/09/02 Javascript
[01:02]DOTA2辉夜杯决赛日 CDEC.Y对阵VG赛前花絮
2015/12/27 DOTA
Python检测网络延迟的代码
2018/05/15 Python
Python 文本文件内容批量抽取实例
2018/12/10 Python
Python 使用folium绘制leaflet地图的实现方法
2019/07/05 Python
Python中six模块基础用法
2019/12/08 Python
python mysql中in参数化说明
2020/06/05 Python
python 5个顶级异步框架推荐
2020/09/09 Python
python 怎样进行内存管理
2020/11/10 Python
python利用文件时间批量重命名照片和视频
2021/02/09 Python
anaconda升级sklearn版本的实现方法
2021/02/22 Python
师范生自我鉴定范文
2013/10/05 职场文书
光电信息专业应届生求职信
2013/10/07 职场文书
董事长秘书岗位职责
2013/11/29 职场文书
会计电算化专业毕业生推荐信
2013/12/24 职场文书
《囚绿记》教学反思
2014/03/01 职场文书
品牌宣传方案
2014/03/21 职场文书
三年级评语大全
2014/04/23 职场文书
酒店工程部岗位职责
2015/02/12 职场文书
小学总务工作总结
2015/08/13 职场文书
分享CSS盒子模型隐藏的几种方式
2022/02/28 HTML / CSS