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

Python 中 global 关键字可以定义一个变量为全局变量,但是这个仅限于在一个模块(py文件)中调用全局变量:

我们知道Python使用变量的时候是可以直接使用的,x=[] ,y=2,z="123",而不需要先定义(var x; var y=2;var z='222'),这样的话,在函数内部就无法操作外部的变量了,因为它总会认为你是在定义一个新变量并且赋值,不过 global 就可以解决这个问题。

global 的基础用法 :

x = 6

deffunc():global x #定义外部的x

x = 1func()print(x)#输出1

这个时候,即使你在另外一个py文件 再次使用 global x 也是无法访问到的,因为在这个py模块中并没有一个叫做x的变量,于是就会报错 未定义。

那么我们怎么办?

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

新建一个py文件,文件名是:gol.py,具体代码:

#-*- coding: utf-8 -*-

def _init():#初始化

global_global_dict

_global_dict={}defset_value(key,value):"""定义一个全局变量"""_global_dict[key]=valuedef get_value(key,defValue=None):"""获得一个全局变量,不存在则返回默认值"""

try:return_global_dict[key]except KeyError:

相信如果你看懂了就应该知道思路了,利用global的单独文件全局性,从而可以定义在一个文件中的全局变量,然后这个单个文件的全局变量可以保存多个文件的共同全局变量

操作的时候,以Key对Value 的方法操作,我相信大家都懂。

#-*- coding:utf-8 -*-

importgol

gol._init()#先必须在主模块初始化(只在Main模块需要一次即可)

#定义跨模块全局变量

gol.set_value('uuid',uuid)

gol.set_value('token',token)

然后其他的任何文件只需要导入即可使用:

#-*- coding: utf-8 -*-

importgol#不需要再初始化了

ROOT = gol.get_value('uuid')

CODE= gol.get_value('token')

就这样就可以实现跨文件的全局变量使用;

并且还有一个简单但是强大的全局变量管理器,你可以自己添油加醋,实现一些比如全局变量禁止直接修改,禁止修改某些只可读的全局变量等等。

python跨文件全局变量_Python跨文件全局变量的使用相关推荐

  1. python跨目录调用_python 跨目录访问文件

    1.同级.同目录的文件之间的访问 有这样一个目录结构 假如,in_A.py 这个文件想调用 hello_world.py 中的函数怎么办呢? --->>>  import 只需在 i ...

  2. python局部变量转全局变量_python局部变量和全局变量

    python局部变量和全局变量 发布时间:2020-08-31 00:01:13 来源:51CTO 阅读:98 作者:qq5d6f345f0205e 在python开发中,变量也是有生命周期的,一旦周 ...

  3. python对文件的_python对文件的读写

    文件 File 什么是文件 文件是用于数据存储和单位 文件通常用来长期存储数据 文件中的数据是以字节为单位进行顺序存储的 文件的操作流程: 1. 打开文件 2. 读/写文件 3. 关闭文件 注: 任何 ...

  4. python读写文件函数_Python读写文件

    转载自:http://blog.csdn.net/adupt/article/details/4435615 1.open 使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用 ...

  5. python pdf处理 图片_python PDF文件合并、图片处理

    一.合并多个PDF文件 实例: #导入模块import codecs import os import PyPDF2 as PyPDF2 #建立一个装pdf文件的数组 files = list()#遍 ...

  6. python中如何在写文件之前删除文件内容_Python:文件的读取、创建、追加、删除、清空...

    一.用Python创建一个新文件,内容是从0到9的整数, 每个数字占一行: #python >>>f=open('f.txt','w') # r只读,w可写,a追加 >> ...

  7. python如何进入文件夹_python之文件的读写和文件目录以及文件夹的操作实现代码...

    这篇文章主要介绍了python之文件的读写和文件目录以及文件夹的操作实现代码,需要的朋友可以参考下 为了安全起见,最好还是给打开的文件对象指定一个名字,这样在完成操作之后可以迅速关闭文件,防止一些无用 ...

  8. python申明文件编码_Python源代码文件的文本编码

    原博文 2012-07-22 01:46 − 源代码的编码问题对于任何语言的源文件都是存在的,只不过对于脚本语言,这个问题更突出一些. 有的人可能会说,既然源代码在文本编辑器中可以正常显示,说明编码没 ...

  9. python打开方式包括_python打开文件的方式有哪些

    python下打开文件超级简单,不用导入任何包,直接输入 f =open('your_file.txt','r') 就可以打开一个文件进行操作.第二个参数为对文件的操作方式,'w'是写文件,已存在的同 ...

  10. python素材和代码_python之文件和素材

    11.1 打开文件 open函数 open(name[,mode[,buffering]]) >>>f = open(r'C:\text\somefile.txt') 11.1.1 ...

最新文章

  1. Second Week: Git与Github的使用
  2. python文件读写,以后就用with open语句
  3. flash_erase and flash_eraseall
  4. ubuntu 14.04 开机进入字符界面
  5. 2021 最新CV综述分类汇总(持续更新)
  6. html等待图片全部加载,imgLoad等待图片资源加载完成后执行函数(图片预加载)...
  7. SQL server 查询语句
  8. SQL实战之查找最晚入职员工的所有信息
  9. 年度回顾篇:2018年的亚马逊,众生虽苦,诸恶莫作
  10. 4399IT运维实习生面试经历
  11. c51实现老人跌倒,心率异常报警系统
  12. 2021年中国驴行业存栏量延续下降走势,存栏基数降低使得驴肉供应减少,价格持续走强[图]
  13. Dell 笔记本电脑BIOS详细解读
  14. Vue 前端导出Excel表格,多级表头合并
  15. 对那些想写个网络音乐播放器、电台玩玩的同学提供一些原料
  16. 计算机服务业结转成本,服务业结转成本如何做会计分录?
  17. linux机械硬盘提速,几分钟简单优化 让机械硬盘更流畅
  18. 全球30米地表覆盖遥感制图关键技术与产品研发
  19. 美团年营收1791亿增56%:亏156亿 研发投入167亿
  20. 阿里京东创业者交锋,赋能会是便利店竞争下一程吗?

热门文章

  1. 新人工智能技术,以光速识别物体
  2. 【报告分享】 2020年中国互联网医疗研究报告-36kr(附下载)
  3. 计算机学院 文化建设方案,计算机专业组文化建设和班级建设方案.doc
  4. 腾讯qq珊瑚虫版_时隔多年,腾讯再次上线 Linux 版 QQ !
  5. Succeeding with Object databases: a practical look at today's implementations with Java and XML
  6. 第一课:人工智能在嵌入式中的机会
  7. 【D降调C#】天草迷宫独特算法
  8. python+requests+pytest 接口自动化框架(八)
  9. 2021年化工自动化控制仪表考试试卷及化工自动化控制仪表模拟考试题库
  10. Windows更新清理工具 (winsxs 清理工具)