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 相关文章推荐
pyramid配置session的方法教程
Nov 27 Python
浅谈编码,解码,乱码的问题
Dec 30 Python
Python使用win32com实现的模拟浏览器功能示例
Jul 13 Python
Python UnboundLocalError和NameError错误根源案例解析
Oct 31 Python
Python3实现将一维数组按标准长度分隔为二维数组
Nov 29 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
Dec 31 Python
Python环境下安装PyGame和PyOpenGL的方法
Mar 25 Python
Python绘制动态水球图过程详解
Jun 03 Python
Python脚本如何在bilibili中查找弹幕发送者
Jun 04 Python
python中not、and和or的优先级与详细用法介绍
Nov 03 Python
分享7个 Python 实战项目练习
Mar 03 Python
Python Numpy库的超详细教程
Apr 06 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
Yii2中如何使用modal弹窗(基本使用)
2016/05/30 PHP
php自定义时间转换函数示例
2016/12/07 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
2019/08/03 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
PHP基于openssl实现非对称加密代码实例
2020/06/19 PHP
CL vs ForZe BO5 第四场 2.13
2021/03/10 DOTA
超级强大的表单验证
2006/06/26 Javascript
js右键菜单效果代码
2007/07/21 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
2015/09/27 Javascript
Bootstrap每天必学之缩略图与警示窗
2015/11/29 Javascript
通过隐藏iframe实现无刷新上传文件操作
2016/03/16 Javascript
javascript中setAttribute兼容性用法分析
2016/12/12 Javascript
超全面的javascript中变量命名规则
2017/02/09 Javascript
详解Vue路由开启keep-alive时的注意点
2017/06/20 Javascript
微信小程序之多文件下载的简单封装示例
2018/01/29 Javascript
在angularJs中进行数据遍历的2种方法
2018/10/08 Javascript
基于React Native 0.52实现轮播图效果
2020/08/25 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
2019/08/26 Javascript
vue 组件销毁并重置的实现
2020/01/13 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
python实现自动登录人人网并访问最近来访者实例
2014/09/26 Python
pygame游戏之旅 如何制作游戏障碍
2018/11/20 Python
详解css3中 text-fill-color属性
2019/07/08 HTML / CSS
全球知名巧克力品牌:Godiva
2016/07/22 全球购物
日本面向世界,国际级的免税在线购物商城:DOKODEMO
2017/02/01 全球购物
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
台湾演唱会订票网站:StubHub台湾
2019/06/11 全球购物
Hotels.com越南:酒店预订
2019/10/29 全球购物
儿科主治医生个人求职信
2013/09/23 职场文书
给实习单位的感谢信
2014/02/01 职场文书
三严三实对照检查材料范文
2014/09/23 职场文书
高中校园广播稿3篇
2014/09/29 职场文书
无婚姻登记记录证明
2015/06/18 职场文书
Go Plugins插件的实现方式
2021/08/07 Golang
《LOL》“克隆大作战”久违归来 幻灵战队皮肤上线
2022/04/03 其他游戏
mysql 索引的数据结构为什么要采用B+树
2022/04/26 MySQL