python实现跨文件全局变量的方法


Posted in Python onJuly 07, 2014

在使用Python编写的应用的过程中,有时候会遇到多个文件之间传递同一个全局变量的情况。本文就此给出了如下的解决方法供大家参考。

文件1:globalvar.py

#!/usr/bin/env python2.7 
class GlobalVar: 
  db_handle = None 
  mq_client = None 
def set_db_handle(db): 
  GlobalVar.db_handle = db 
def get_db_handle(): 
  return GlobalVar.db_handle 
def set_mq_client(mq_cli): 
  GlobalVar.mq_client = mq_cli 
def get_mq_client(): 
  return GlobalVar.mq_client

文件2:set.py

import globalvar as GlobalVar 
def set(): 
  GlobalVar.set_mq_client(10) 
  print "------set mq_client in set.py------mq_client: " + str(GlobalVar.get_mq_client())

文件3:get.py

#!/usr/bin/env python2.7 
import globalvar as GlobalVar 
def get(): 
  print "------get mq_client in get.py------mq_client: " + str(GlobalVar.get_mq_client())

文件4:main.py

#!/usr/bin/env python2.7 
import set 
import get 
set.set() 
get.get()

其中globalvar.py中定义了两个全局变量,在set.py中的set函数中对其进行赋值,在get.py文件中的get函数取值并打印。main.py函数作为应用入口,调用set和get。

这样就可以看到一个完整的应用中,全局变量的跨文件使用。

Python 相关文章推荐
轻松掌握python设计模式之访问者模式
Nov 18 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
Feb 16 Python
python爬取w3shcool的JQuery课程并且保存到本地
Apr 06 Python
python 接口_从协议到抽象基类详解
Aug 24 Python
python实战串口助手_解决8串口多个发送的问题
Jun 12 Python
python使用opencv对图像mask处理的方法
Jul 05 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
Oct 14 Python
jupyter notebook中美观显示矩阵实例
Apr 17 Python
python将logging模块封装成单独模块并实现动态切换Level方式
May 12 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
Jul 13 Python
Python numpy矩阵处理运算工具用法汇总
Jul 13 Python
Python序列化模块JSON与Pickle
Jun 05 Python
Python中的并发编程实例
Jul 07 #Python
Python编程语言的35个与众不同之处(语言特征和使用技巧)
Jul 07 #Python
python基于mysql实现的简单队列以及跨进程锁实例详解
Jul 07 #Python
python中使用urllib2获取http请求状态码的代码例子
Jul 07 #Python
Python中使用urllib2防止302跳转的代码例子
Jul 07 #Python
python中使用urllib2伪造HTTP报头的2个方法
Jul 07 #Python
python实现多线程采集的2个代码例子
Jul 07 #Python
You might like
德生1994机评
2021/03/02 无线电
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
php metaphone()函数的定义和用法
2016/05/15 PHP
用函数式编程技术编写优美的 JavaScript_ibm
2008/05/16 Javascript
图片onload事件触发问题解决方法
2011/07/31 Javascript
JS 获取浏览器和屏幕宽高等信息的实现思路及代码
2013/07/31 Javascript
用Jquery实现滚动新闻
2014/02/12 Javascript
浅谈NodeJS中require路径问题
2015/05/07 NodeJs
三种AngularJS中获取数据源的方式
2016/02/02 Javascript
AngularJS中$http服务常用的应用及参数
2016/08/22 Javascript
浅谈react-router HashRouter和BrowserRouter的使用
2017/12/29 Javascript
详解Chai.js断言库API中文文档
2018/01/31 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
2018/05/07 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
angularjs自定义过滤器demo示例
2019/08/24 Javascript
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
用C++封装MySQL的API的教程
2015/05/06 Python
python数据预处理之将类别数据转换为数值的方法
2017/07/05 Python
你真的了解Python的random模块吗?
2017/12/12 Python
PyQt5主窗口动态加载Widget实例代码
2018/02/07 Python
详解django中使用定时任务的方法
2018/09/27 Python
python 画图 图例自由定义方式
2020/04/17 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
2020/04/24 Python
python入门教程之基本算术运算符
2020/11/13 Python
python 使用tkinter+you-get实现视频下载器
2020/11/17 Python
Python django框架 web端视频加密的实例详解
2020/11/20 Python
css3实现顶部社会化分享按钮示例
2014/05/06 HTML / CSS
EJB的基本架构
2016/09/22 面试题
毕业生就业推荐信范文
2013/12/01 职场文书
中医专业职业生涯规划书范文
2014/01/04 职场文书
党员教师四风问题对照检查材料
2014/09/26 职场文书
2015年超市收银员工作总结
2015/04/25 职场文书
演讲开场白和结束语
2015/05/29 职场文书
电力安全教育培训心得体会
2016/01/11 职场文书
tomcat下部署jenkins的方法
2022/05/06 Servers
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server