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

yipeiwu_com7年前Python基础

在使用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线程安全及多进程多线程实现方法详解

进程和线程的区别 进程是对运行时程序的封装,是系统资源调度和分配的基本单位 线程是进程的子任务,cpu调度和分配的基本单位,实现进程内并发。 一个进程可以包含多个线程,线...

详解python tkinter教程-事件绑定

一个Tkinter主要跑在mainloop进程里。Events可能来自多个地方,比如按键,鼠标,或是系统事件。 Tkinter提供了丰富的方法来处理这些事件。对于每一个控件Widge...

利用python实现xml与数据库读取转换的方法

前言 xml课的第三第四个作业都是用java编程来实现xml dom的一些转换, 因为自己没怎么学过java,因此和老师说了下想用python来实现第三第四个作业,下面就直接贴代码了 x...

Python 解决中文写入Excel时抛异常的问题

近期接到业务部门需求,需将统计结果每日发送到业务部门,在调试python脚本的时候,导出的Excel标题为中文,总是抛出以下异常 Traceback (most recent ca...

Python字典常见操作实例小结【定义、添加、删除、遍历】

本文实例总结了Python字典常见操作。分享给大家供大家参考,具体如下: 简单的字典: 字典就是键值对key-value组合。 #字典 键值对组合 alien_0 ={'color...