在项目中遇到了一个这样的小问题:在主程序里定义了一个全局变量,编写了一堆函数放到了另外几个.py文件里,然后想在放函数的.py文件里调用全局变量,发现调用不了。

我自己的项目里是一个UI界面的问题,对Ui_MainWindow的类定义了一个printf的方法,在主函数里创建了一个实例,然后想在另一个模块里用这个实例打印一些东西

查了一些博客,这里记录一下解决办法:

在某一个模块里定义一个全局变量初始化的函数:(比如说这个模块叫做commonFunc.py)

def global_var_init():global mainUImainUI = ui.Ui_MainWindow()return mainUI

主函数以及其他需要用到这个全局变量的模块,都把这个commonFunc模块导入进来

主函数里先定义这个全局变量:

import commonFunc
mainUI = commonFunc.global_var_init()

然后其他模块就可以通过下面这种方式用:

import commonFunc
commonFunc.mainUI.printf('abcdefg')

总结:专门在某一个模块里定义这个全局变量及其初始化函数,主函数和其他函数要用时导入这个模块,就可以用这个全局变量了。

Python 调用另一个模块里的全局变量相关推荐

  1. 对python来说、一个模块就是一个文件-python导入自定义模块和包

    参考资料 https://blog.csdn.net/gvfdbdf/article/details/52084144 http://www.runoob.com/python/python-modu ...

  2. 对于python来说、一个模块就是一个文件-PYTHON中的包和模块

    为了更加友好的对python代码进行组织管理,python中出现了包和模块的概念 类似生活中整理我们的物品一样,将代码按照不同的功能进行整理整合,可以很大程度的提升代码可读性和代码质量,方便在项目中进 ...

  3. SpringCloud实现一个模块调用另一个模块的服务

    SpringCloud实现一个模块调用另一个模块的服务 简介 基于SpringCloud框架搭建的项目,不同模块之间是无法调用各自的服务的,但是经常我们需要使用这样的模式去开发,那么如何实现不同模块之 ...

  4. python 调用另一个py_跟我自学python 第9章 类(9.4.6 在一个模块中导入另一个模块)...

    大家好今天学习9.4.6 在一个模块中导入另一个模块 .今天我们继续学习python.马上类就学完了. 喜欢python就关注冠山巡山使. 我将跟大家一块自学完python语言. 9.4.6 在一个模 ...

  5. 对于python来说、一个模块就是一个文件-python常用模块

    python常用模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用pyt ...

  6. python脚本中执行另一个脚本_如何用python调用另一个python脚本?

    如果想要将已经设置好的内容,在转移到另一个位置要怎么做呢?小编能写到的方法有,照抄,复制,以及转移使用.在我们日常办公上是非常好理解的,就是ctr v,但是如果想在编程上,将某一位置拿去到别的项目上使 ...

  7. Python笔记(二)——python调用C/C++模块

    前一篇讲了简单的C/C++调用Python脚本模块(.py).既然是用于诸多游戏程序的脚本语言,那肯定是缺不了互调(礼尚往来).因此,本篇讲一个简单的python调用C/C++写的DLL模块,对Pyt ...

  8. 每个python文件就是一个模块、模块的名字就是_每个Python文件都可以作为一个模块,模块的名字就是 的名字_学小易找答案...

    [单选题]9.3 The management of XYZ Co has annual credit sales of $20 million and accounts receivable of ...

  9. 对python来说、一个模块就是一个文件-Python如何将将模块分割成多个文件

    问题 你想将一个模块分割成多个文件.但是你不想将分离的文件统一成一个逻辑模块时使已有的代码遭到破坏. 解决方案 程序模块可以通过变成包来分割成多个独立的文件.考虑下下面简单的模块: 1 2 3 4 5 ...

最新文章

  1. mysql主从切换(正常切换)
  2. 显示部分x_Linux 黑话解释:什么是显示服务器,用来做什么? | Linux 中国
  3. 深度探索linux系统虚拟化 原理与实现,深度探索Linux系统虚拟化:原理与实现
  4. mysql时间戳计算_mysql根据时间戳计算
  5. 2011 ICM 美国数据建模赛题
  6. 高级语言程序设计C试卷答案,2018高级语言程序设计考卷B及参考答案.docx
  7. Windows 系统下安装anaconda教程 ,小白教程!!!
  8. linux+删除+grub,请问:如何删除grub引导
  9. 番茄助手在VS2017中的设置
  10. Ubuntu 20.04 更换阿里源
  11. MSET算法参差分析(一)
  12. SAS用proc means和proc univariate求数据的样本均值、中位数、四分位数、样本方差、极差、变异系数、二阶、三阶和四阶中心矩、偏度、峰度、标准差和对数据进行正态性检验
  13. 多媒体呼叫中心技术、应用与发展前景
  14. GRE Over IPSec技术
  15. CodeForces 1389G Directing Edges 边联通分量缩点+树形dp+rerooting technique
  16. 一款非常棒的开源微社区轻论坛类源码
  17. rgb的颜色转换以及十六进制转为十进制的那些事
  18. 求解广州到上海用时最短的路径,使用中国地图超详细剖析Dijkstra算法思想
  19. 埃尔米特插值法在MATLAB中的应用
  20. eplan实战设计pdf百度云_EPLAN实战设计

热门文章

  1. 深度学习:什么是backbone,benchmark,baseline
  2. 鹅头顶长头瘤的办法 鹅吃啥药长头包长头瘤
  3. 贾跃亭:第二阶段交付推迟 反映出FF团队融资能力亟待提升
  4. 鸿蒙内核分析,鸿蒙内核源码分析(中断概念篇) | 外人眼中权势滔天的当红海公公...
  5. 支付宝真任性,为程序员打造了一款知识管理神器
  6. 历经五主而不衰的风流皇后:南朝萧皇后
  7. C# Conditional 特性
  8. JavaScript 国庆倒计时小案例
  9. PageHelper分页插件进行PO(数据库实体)转VO(返回实体)的陷阱
  10. Apache mina,Netty的起源和历史