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计算圆周长、面积、球体体积并画出圆
Apr 08 Python
Python实现的下载网页源码功能示例
Jun 13 Python
Python中常见的异常总结
Feb 20 Python
pycharm重置设置,恢复默认设置的方法
Oct 22 Python
django session完成状态保持的方法
Nov 27 Python
python-opencv 将连续图片写成视频格式的方法
Jan 08 Python
Python绘图Matplotlib之坐标轴及刻度总结
Jun 28 Python
浅析Python迭代器的高级用法
Jul 16 Python
Python selenium如何打包静态网页并下载
Aug 12 Python
Python实现王者荣耀自动刷金币的完整步骤
Jan 22 Python
详解python第三方库的安装、PyInstaller库、random库
Mar 03 Python
Python中json.load()和json.loads()有哪些区别
Jun 07 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
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
2009/07/01 PHP
php中strtotime函数性能分析
2016/11/20 PHP
php一个文件搞定微信jssdk配置
2016/12/12 PHP
浅谈PHP进程管理
2019/03/08 PHP
让iframe子窗体取父窗体地址栏参数(querystring)
2009/10/13 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
jquery获取css中的选择器(实例讲解)
2013/12/02 Javascript
JS实现双击编辑可修改状态的方法
2015/08/14 Javascript
jQuery超简单选项卡完整实例
2015/09/26 Javascript
javascript实现下雪效果【实例代码】
2016/05/03 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
2017/02/03 Javascript
Angular.js基础学习之初始化
2017/03/10 Javascript
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
2017/08/17 Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
2018/01/16 Javascript
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
vue解决一个方法同时发送多个请求的问题
2018/09/25 Javascript
[01:15:15]VG VS EG Supermajor小组赛B组胜者组第一轮 BO3第二场 6.2
2018/06/03 DOTA
Python学习笔记_数据排序方法
2014/05/22 Python
[原创]使用豆瓣提供的国内pypi源
2017/07/02 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
Python实现字符串的逆序 C++字符串逆序算法
2020/05/28 Python
用Python下载一个网页保存为本地的HTML文件实例
2018/05/21 Python
从请求到响应过程中django都做了哪些处理
2018/08/01 Python
python中import与from方法总结(推荐)
2019/03/21 Python
python、PyTorch图像读取与numpy转换实例
2020/01/13 Python
Python视频编辑库MoviePy的使用
2020/04/01 Python
Python json读写方式和字典相互转化
2020/04/18 Python
python 在sql语句中使用%s,%d,%f说明
2020/06/06 Python
Canvas 文本转粒子效果的实现代码
2019/02/14 HTML / CSS
美国电视购物:QVC
2017/02/06 全球购物
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
幼儿园老师新年寄语2015
2014/12/08 职场文书
廉政承诺书2015
2015/04/28 职场文书
离职证明范本
2015/06/12 职场文书
Python用tkinter实现自定义记事本的方法详解
2022/03/31 Python