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

yipeiwu_com6年前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。

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

相关文章

Python3.5文件修改操作实例分析

Python3.5文件修改操作实例分析

本文实例讲述了Python3.5文件修改操作。分享给大家供大家参考,具体如下: 1、文件修改的两种方式 (1)像vim一样将文件加载到内存中,修改完之后再写回源文件。 (2)打开文件,修...

python 通过logging写入日志到文件和控制台的实例

如下所示: import logging # 创建一个logger logger = logging.getLogger('mylogger') logger.setLev...

python3 shelve模块的详解

python3 shelve模块的详解 一、简介   在python3中我们使用json或者pickle持久化数据,能dump多次,但只能load一次,因为先前的数据已经被后面dump的...

Python图像处理之简单画板实现方法示例

Python图像处理之简单画板实现方法示例

本文实例讲述了Python图像处理之简单画板实现方法。分享给大家供大家参考,具体如下: Python图像处理也是依赖opencv的Python接口实现的,Python语言简单易懂,简洁明...

python实现超简单的视频对象提取功能

python实现超简单的视频对象提取功能

视频对象提取 与其说是视频对象提取,不如说是视频颜色提取,因为其本质还是使用了OpenCV的HSV颜色物体检测。下面话不多说了,来一起看看详细的介绍吧。 HSV介绍 HSV分别代表,...