有关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。

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

python2.7 跨文件全局变量的方法的更多相关文章

  1. python2.7 跨文件全局变量的方法-乾颐堂

    在使用Python编写的应用的过程中,有时会遇到多个文件之间传递同一个全局变量的情况. 文件1:globalvar.py 1 2 3 4 5 6 7 8 9 10 11 12 #!/usr/bin/e ...

  2. Python实现跨文件全局变量的方法

    Python 中 global 关键字可以定义一个变量为全局变量,但是这个仅限于在一个模块(py文件)中调用全局变量,在另外一个py文件 再次使用 global x 也是无法访问到的,因为在这个py模 ...

  3. Python跨文件全局变量的使用

    尽管某些书籍上总是说避免使用全局变量,但是在实际的需求不断变化中,往往定义一个全局变量是最可靠的方法,但是又必须要避免变量名覆盖. Python 中 global 关键字可以定义一个变量为全局变量,但 ...

  4. c++多个文件中共用一个全局变量 变量跨文件使用

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/12047602.html 虽然很多博客都写过这个了 但是 我还是继续补充的详细一点吧  毕竟很多 ...

  5. c语言函数定义、函数声明、函数调用以及extern跨文件的变量引用

    1.如果没有定义,只有声明和调用:编译时会报连接错误.undefined reference to `func_in_a'2.如果没有声明,只有定义和调用:编译时一般会报警告,极少数情况下不会报警告. ...

  6. ORACLE跨数据库查询的方法

    原文地址:http://blog.csdn.net/huzhenwei/article/details/2533869 本文简述了通过创建database link实现Oracle跨数据库查询的方法 ...

  7. 深入学习Python解析并解密PDF文件内容的方法

    前面学习了解析PDF文档,并写入文档的知识,那篇文章的名字为深入学习Python解析并读取PDF文件内容的方法. 链接如下:https://www.cnblogs.com/wj-1314/p/9429 ...

  8. 深入学习python解析并读取PDF文件内容的方法

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  9. Laravel5中防止XSS跨站攻击的方法

    本文实例讲述了Laravel5中防止XSS跨站攻击的方法.分享给大家供大家参考,具体如下: Laravel 5本身没有这个能力来防止xss跨站攻击了,但是这它可以使用Purifier 扩展包集成 HT ...

随机推荐

  1. (LeetCode 160)Intersection of Two Linked Lists

    Write a program to find the node at which the intersection of two singly linked lists begins. For ex ...

  2. Android 之 Android目录

    Android的目录结构如图所示: 下面来分别说说各个目录: 1.src:存放应用程序中所有的(后台)源代码,代码的源文件一般存放在相应的包下面. 2.gen:该目录下一般有BuildConfig.j ...

  3. git 使用流程(使用代码库github)

    一:先在github 上注册账号,并创建一个项目: 二:mac 命令行-进入自己的工作空间 1:建立库     git init 2:初始化配置 git config --global user.na ...

  4. HTML5 坦克大战

    代码 点击打开链接

  5. JavaScript简述一

    一.什么时JavaScript JavaScript是一种具有面向对象能力的,解释型的设计语言,更具体一点,它是基于圣明和事件驱动并具有相对安全必的客户端脚本语言,因为它不需要在一个语言环境下运行,只 ...

  6. svn 和 git的区别

    1.速度: 克隆一份全新的目录,以同样拥有五个(才五个)分支来说,SVN是同时复製5个版本的文件,也就是说重复五次同样的动作.而Git只是获取文件的每个版本的元素,然后只载入主要的分支(master) ...

  7. 解决openssh TimeOut

    SSH Client:ServerAliveInterval 100 SSH server:ClientAliveInterval 30TCPKeepAlive yes ClientAliveCoun ...

  8. SettingsPLSQLDeveloper

      迁移时间:2017年5月21日10:12:23Author:Marydon 一.常用配置项UpdateTime--2017年3月15日13:55:46注:没有安装Oracle数据库的情况下,前两步 ...

  9. C++开发安卓、windows下搭建Android NDK开发环境

    1. NDK(Native Development Kit) 1.1 NDK简介 Android NDK是一套允许开发人员使用本地代码(如C/C++)进行Android APP功能开发的工具,通过这个 ...

  10. docker创建自己的镜像并配置nginx

    前言 最近在研究docker,记录一下如何创建一个属于自己的镜像 本次使用linux版本为centos7.4(centos6也可以使用docker,只不过有部分功能只有7才有) 本次创建的镜像为cen ...