`
xiaoyu966
  • 浏览: 258190 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python跨文件全局变量

阅读更多

============================================================================

原创作品,允许转载。转载时请务必以超链接形式标明原始出处、以及本声明。

请注明转自:http://yunjianfei.iteye.com/blog/

============================================================================

 

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。

 

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

0
0
分享到:
评论

相关推荐

    Python跨文件全局变量的实现方法示例

    本篇文章将详细探讨如何在Python中实现跨文件全局变量。 首先,我们要明白在Python中,全局变量的定义通常使用`global`关键字。例如,在一个文件中,我们可以通过`global var`来声明`var`为全局变量。然而,当尝试...

    python跨文件使用全局变量的实现

    Python 定义了全局变量的特性,使用global 关键字修饰 global key_word 但是他的一大缺陷就是只能本module 中也就是本文件中使用,跳出这个module就不行。 try 1: 使用一个更宏观的思路,全局变量就用全局加载的...

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

    在使用Python编写的应用的过程中,有时候会遇到多个文件之间传递同一个全局变量的情况。本文就此给出了如下的解决方法供大家参考。 文件1:globalvar.py #!/usr/bin/env python2.7 class GlobalVar: db_handle = ...

    Python 3 实现定义跨模块的全局变量和使用教程

    ### Python 3 实现定义跨模块的全局变量和使用教程 #### 一、全局变量的基本概念 在Python中,全局变量是指在整个程序范围内都可访问的变量。它们可以在不同的函数或者模块之间共享数据。虽然一些编程书籍建议尽...

    Python全局变量操作详解

    全局变量的使用在某些情况下可以简化代码,尤其是在需要跨多个函数或模块共享数据时。然而,滥用全局变量会降低代码的可读性和可维护性,使得程序难以调试和扩展,因此通常建议在必要时才使用全局变量,并且应当谨慎...

    python 全局变量的import机制介绍

    通过上述分析我们可以看到,在Python中使用全局变量进行跨模块通信是可行的,但需要注意以下几点: - **变量定义位置**:全局变量最好在最顶层模块中定义,这样可以避免命名冲突。 - **变量修改**:在不同模块中修改...

    python3 动态模块导入与全局变量使用实例

    全局变量在Python中可以跨函数和模块使用,但需要注意的是,过度依赖全局变量可能会导致代码难以理解和维护。下面是一个全局变量在不同模块间共享的简单示例: `global_list.py`: ```python size = None ``` `A.py...

    Python基础面试题(33题).pdfpython面试

    ### Python中的局部和全局变量 在Python中,局部变量是在函数内部定义的变量,它只在该函数内部有效。全局变量是在函数外部定义的变量,并且在整个程序中都可访问。如果局部变量与全局变量同名,则局部变量会覆盖...

    python使用Queue在多个子进程间交换数据的方法

    在Python编程中,多进程并行处理是提高程序效率的一种有效手段。然而,当涉及到多个进程间的通信时,数据交换就成为一个关键问题。Python的`multiprocessing`模块提供了解决方案,其中`Queue`类允许我们在多个子进程...

    总结Python基础面试题.docx

    16、Python的局部和全局变量规则: 局部变量在函数内部定义,只在该函数内部有效。全局变量使用`global`关键字声明,全局变量在整个程序范围内都有效。在函数内部,同名局部变量会覆盖全局变量。 17、如何跨模块...

    Python语言基础:作用域.pptx

    Python语言的基础之一是作用域,它是程序中定义变量的一个范围,决定了变量的可访问性。作用域决定了在程序的...对于那些需要跨多个函数共享的变量,可以考虑使用类的属性或全局变量,但需谨慎处理,以防止意外修改。

    Python-Python安全脚本

    6. 避免全局变量:全局变量可能导致意外的数据共享,增加安全风险。尽量使用局部变量,或者使用类和对象来封装数据。 7. 模块隔离:使用`importlib`或`__import__`动态加载模块时,要确保只加载可信的模块,防止...

    python二级考试试题2.doc

    在 Python 全局变量和局部变量问题中,选项 A 中的 "局部变量指在函数内部使用的变量,当函数退出时,变量依然存在,下次函数调用可以继续使用" 是错误的,局部变量指在函数内部使用的变量,当函数退出时,变量被...

    python中的global关键字的使用方法

    一个模块可以被看作是一个独立的文件,全局变量在该文件中被定义后,可以在整个模块中的任何地方被访问和修改。 每个Python函数都拥有一个名为__globals__的特殊字典,该字典存储了函数所属模块的全局变量。__...

    Python十分钟入门

    - 在函数外定义的变量为全局变量,可在整个文件及外部文件中访问。 - **全局变量引用**: - 可以通过`import`语句引入其他文件中的全局变量。 - 示例: ```python # gl.py _a = 1 _b = 2 # use_global.py ...

    python4delphi-master.zip

    3. 数据交换:Delphi和Python之间可以共享数据,例如通过Python的全局变量或Delphi的接口。开发者可以将Delphi的对象转换为Python对象,反之亦然,以便于数据的交换和处理。 四、实际应用案例 1. 自动化脚本:在...

    123_python_源码

    `sb`可能是某种自定义的文件格式,可能包含游戏中的生物(creatures)、全局变量(globals)等数据。这些文件可能需要通过解析器读取,解析器可能是用Python编写,并且可能使用了上述的C函数调用来提高效率。 为了...

    【Python入门教程】教你如何10分钟入门Python!(超详细)

    5. 全局变量通常放在文件开头,或通过import导入专门的全局变量文件。 常量: Python没有内置的常量关键字,但可以创建一个常量类来模拟常量,例如: ```python class Const: PI = 3.14159 ``` 总之,Python凭借...

    python-3.8.0-embed-win32.zip

    对于那些不希望全局安装Python或者需要在受限环境中运行Python程序的用户来说,这是一个非常实用的资源。同时,由于这是Python 3.8.0的版本,因此用户可以享受到该版本引入的新特性和性能提升,如改进的类型注解、新...

Global site tag (gtag.js) - Google Analytics