Python实现跨文件全局变量的方法(摘抄版)

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

  借鉴global 关键字的思路,既然在一个文件里面可以生效的话,那么我们就专门为全局变量定义一个“全局变量管理模块”就好了

全局变量管理模块 globalvar.py

#!/usr/bin/python
# -*- coding: utf-8 -*-

def _init():
global _global_dict
_global_dict = {}

def set_value(name, value):
_global_dict[name] = value

def get_value(name, defValue=None):
try:
return _global_dict[name]
except KeyError:
return defValue

设置全局变量  a.py

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
import globalvar as gl

gl._init()

gl.set_value(‘name‘, ‘cc‘)
gl.set_value(‘score‘, 90)

获取全局变量  b.py
#!/usr/bin/python
# -*- coding: utf-8 -*-

import globalvar as gl

name = gl.get_value(‘name‘)
score = gl.get_value(‘score‘)

print("%s: %s" % (name, score))

主程序  main.py

#!/usr/bin/python
# -*- coding: utf-8 -*-

import a
import b

原文地址:https://www.cnblogs.com/zhujunsheng/p/11392847.html

时间: 2024-10-18 15:04:08

Python实现跨文件全局变量的方法(摘抄版)的相关文章

Python实现跨文件全局变量的方法(最终版)

文件1: def set_value2(value2): global a a = value2 def get_value2(defValue2=None): try: return a except KeyError: return defValue2 set_value2(2)   文件2: import 文件1 a = gl.get_value2 print(2) 原文地址:https://www.cnblogs.com/zhujunsheng/p/11392877.html

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

Python 中 global 关键字可以定义一个变量为全局变量,但是这个仅限于在一个模块(py文件)中调用全局变量,在另外一个py文件 再次使用 global x 也是无法访问到的,因为在这个py模块中并没有一个叫做x的变量,于是就会报错 未定义. 借鉴global 关键字的思路,既然在一个文件里面可以生效的话,那么我们就专门为全局变量定义一个“全局变量管理模块”就好了 全局变量管理模块 globalvar.py #!/usr/bin/python # -*- coding: utf-8 -*

Python实现跨文件全局变量的方法(2文件优化版)

全局变量管理模块 globalvar.py def set_value(name, value): global _global_dict _global_dict = {} _global_dict[name] = value def get_value(name, defValue=None): try: return _global_dict[name] except KeyError: return defValue set_value('score', 90) 2文件b.py #!/u

python2.7 跨文件全局变量的方法

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

Python 3 读写文件的简单方法!

a = open('test.txt','w') 这行代码创建了一个名为test的文本文档,模式是写入(模式分为三种,w代表写入,r代表阅读,a代表在尾行添加). a.write('hello,world!') 这行代码是往test.txt文件写入数据,这里写入的是'hello,world!'.写入的数据就是你打开文件后看到的内容. a.close() 读写完毕后记得关闭文件. print(a.readline()) 显示文件中第一行的内容,多次执行则依次显示第二行.第三行... a.seek(

python 逐行读取文件的几种方法

Python四种逐行读取文件内容的方法 下面四种Python逐行读取文件内容的方法, 分析了各种方法的优缺点及应用场景,以下代码在python3中测试通过, python2中运行部分代码已注释,稍加修改即可. 方法一:readline函数 # -*- coding: UTF-8 -*- f = open("/pythontab/code.txt") # 返回一个文件对象 line = f.readline() # 调用文件的 readline()方法 while line: # pri

python __函数 跨文件夹引用

1. __name__ 被调用模块.__name为被调用模块的模块名,若为直接执行函数,__name__ = 该'__main__'. 运用最广泛的语句为:if __name__ == 'main': 这段语句的目的为使得该py文件既可以自我执行又可以被调用. eg.py def test(): print('this is a test') if __name__ == '__main__': test() 这段代码中,可以使其他py文件调用eg.py时,因为此时__name__为直接执行的文

Python案例详解Python文件迭代的方法

在python开发中,我们常常都会用到迭代器,所以对于python初学者来说,必须掌握迭代器相关知识.本文小编就将为大家分享有关迭代器的相关知识,觉得有必要了解或加深了解的童鞋,请往下看. 1.迭代器介绍 可迭代对象:列表.元组.字符串 迭代工具:for循环.列表解析.in成员关系测试.map内建函数 下面,通过具体的例子,给大家展示一下: 1. >>> for item in (1,3,4,5): 2.   print(item) 3. 4. 1 5. 3 6. 4 7. 5 8. &

c++多文件使用全局变量的方法

开始错误的做法 在global.h声明并定义变量 int sharedData = 9; 编译出错 Building target: CTest Invoking: GCC C++ Linker g++ -o "CTest" ./src/CTest.o ./src/global.o ./src/global.o:(.data+0x0): `sharedData'被多次定义 ./src/CTest.o:(.data+0x0):第一次在此定义 collect2: 错误: ld 返回 1 正