当前位置:   article > 正文

【Python】多模块使用全局变量,一个py文件使用另一个py文件的数据变量(测试代码)_python引用相同文件夹中的py文件中的全局变量

python引用相同文件夹中的py文件中的全局变量


欢迎关注 『Python』 系列,持续更新中
欢迎关注 『Python』 系列,持续更新中

实现思路

学了这么久python,我一开始确实没有想到在多个模块共用数据的问题·····

今天有一个作者遇到了这方面的困难,我也来研究一下这个东西。

最后得到了的思路如下:

  • 设置一个管理模块globalManger.py,有2个方法 设置和获取 键值对。
  • moudle1.py中设置键值对,在moudle2.py中获取键值对的数据内容。
  • main.py调用moudle1.pymoudle2.py,即可实现在moudle2中调用moudle1的数据

代码例程

globalManger.py

# @Time    : 2022/6/19 9:09
# @Author  : 南黎
# @FileName: globalManger.py

#初始化一个空的键值对字典
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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

module1.py

# @Time    : 2022/6/19 9:05
# @Author  : 南黎
# @FileName: module1.py

#moudle1设置数据,后面可以在moudle2中获取数据
import sys
import globalManger  as gm


gm._init()#初始化字典对象,只需要运行一次,后面所有的数据内容都会放在这个新建的字典中
gm.set_value('南黎的年龄', 22)#在字典中添加一个键名'南黎的年龄',键值为22
gm.set_value('南黎的性别', "男")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

module2.py

# @Time    : 2022/6/19 9:05
# @Author  : 南黎
# @FileName: module2.py

#module2可以获取moudle1设置的数据
import globalManger as gl

name = gl.get_value('南黎的年龄')
score = gl.get_value('南黎的性别')

print("南黎的年龄:%s\n南黎的性别:%s" % (name, score))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

main.py

# @Time    : 2022/6/19 9:06
# @Author  : 南黎
# @FileName: main.py
import module1
print("moudle1设置数据数据完毕")

import module2
print("moudle2读取并输出数据完毕")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

运行方法和效果

直接运行main.py
在这里插入图片描述


总结

大家喜欢的话,给个

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/423512
推荐阅读
相关标签