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脚本来控制Windows Azure的简单教程
Apr 16 Python
编写Python脚本来获取mp3文件tag信息的教程
May 04 Python
python图片验证码生成代码
Jul 02 Python
详解Python开发中如何使用Hook技巧
Nov 01 Python
Python实现可自定义大小的截屏功能
Jan 20 Python
Linux CentOS7下安装python3 的方法
Jan 21 Python
Python使用Tkinter实现机器人走迷宫
Jan 22 Python
在python中安装basemap的教程
Sep 20 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
Dec 19 Python
Python numpy中矩阵的基本用法汇总
Feb 12 Python
python中68个内置函数的总结与介绍
Feb 24 Python
python如何获取网络数据
Apr 11 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中把stdClass Object转array的几个方法
2014/05/08 PHP
php校验表单检测字段是否为空的方法
2015/03/20 PHP
扩展String功能方法
2006/09/22 Javascript
JavaScript 闭包在封装函数时的简单分析
2009/11/28 Javascript
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
2013/07/08 Javascript
js调试系列 源码定位与调试[基础篇]
2014/06/18 Javascript
页面加载完后自动执行一个方法的js代码
2014/09/06 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
js小数运算出现多位小数如何解决
2015/10/08 Javascript
js与applet相互调用的方法
2016/06/22 Javascript
详解Bootstrap的iCheck插件checkbox和radio
2016/08/24 Javascript
js 判断数据类型的几种方法
2017/01/13 Javascript
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
JS给按钮添加跳转功能类似a标签
2017/05/30 Javascript
vue自定义指令实现方法详解
2019/02/11 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
原生JS实现随机点名项目的实例代码
2019/04/30 Javascript
vue prop传值类型检验方式
2020/07/30 Javascript
[02:46]完美世界DOTA2联赛PWL DAY4集锦
2020/11/03 DOTA
python中使用PIL制作并验证图片验证码
2018/03/15 Python
python 输出上个月的月末日期实例
2018/04/11 Python
使用python编写监听端
2018/04/12 Python
OpenCV+Python识别车牌和字符分割的实现
2019/01/31 Python
利用Python小工具实现3秒钟将视频转换为音频
2019/10/29 Python
深入理解Python 多线程
2020/06/16 Python
Python基于execjs运行js过程解析
2020/11/27 Python
LightInTheBox西班牙站点:全球商品在线采购
2016/09/22 全球购物
大学生简历中个人的自我评价
2013/10/06 职场文书
大学生应聘自荐信
2013/10/11 职场文书
应届生财务会计求职信
2013/11/05 职场文书
观看信仰心得体会
2014/09/04 职场文书
国庆65周年演讲稿:回首往昔,展望未来
2014/09/21 职场文书
党员教师群众路线思想汇报范文
2014/10/28 职场文书
党的群众路线教育实践活动个人对照检查材料(四风)
2014/11/05 职场文书
上课讲话检讨书范文
2015/05/07 职场文书
2016年公共机构节能宣传周活动总结
2016/04/05 职场文书