在编写比较大的程序或团队协同工作时,常常会用到两个.py程序之间的相互调用和传递参数,我把自己理解的一个方法写一下。

首先要求pycharm已经安装了sys库,已知sys.argv是传递参数的核心。

import sys
from PyQt5.QtWidgets import QApplication,QWidget#这个库是第三方库,实现一个窗口UIclass Example(QWidget) :#他是继承自QWidgetdef __init__(self):super().__init__()self.initUI()#构造函数中调用子类的方法initUI()def initUI(self):self.resize(350,350)#创建窗口self.show()print('第一次')
if __name__ == '__main__':#判断是不是在这个.py下调用的本程序app = QApplication(sys.argv)  #sys.argv 是一个从程序外部获取参数桥梁ex = Example()#创建一个子类对象,调用构造函数print('第二次')sys.exit(app.exec_())#程序退出

关键点:
if name == ‘main’:
判断是不是这个.py下调用的这个函数,如果是别的程序调用的这个.py,则不会执行if语句
但执行这个.py,会出现“第一次”“第二次”

import pyqt5_11_0 #导入自己写的.py文件
import sys
app = pyqt5_11_0.QApplication(sys.argv)#sys.argv 是一个从程序外部获取参数桥梁
print(sys.argv)
ex = pyqt5_11_0.Example()
sys.exit(app.exec_())

关键点:
app = pyqt5_11_0.QApplication(sys.argv)
这句可以pyqt5_11_0.QApplication()是因为,在pyqt5_11_0的上面已经导入了PyQt5.QtWidgets,所以这个.py不写也可以点出来。
执行这个.py只会出现“第一次”,说明执行了整个pyqt5_11_0.py,但是if语句里面没有执行

pycharm中两个.py文件相互调用和传递参数相关推荐

  1. Pyside2,Pycharm中右键转py文件的时候,出来的结果总是c++代码

    主要参考https://blog.csdn.net/zhangziju/article/details/80243858 配置完成后,出现以下问题: 问题:Pyside2,Pycharm中右键转py文 ...

  2. 关于在Pycharm中导入自定义第三方文件后报错:ModuleNotFoundError: No module named

    ModuleNotFoundError: No module named- 关于在Pycharm中导入自定义第三方文件后报错:ModuleNotFoundError: No module named ...

  3. Python编程语言学习:在根目录的py文件内调用某叶目录文件内的包/库或者函数(常用在GUI编程)之详细攻略

    Python编程语言学习:在根目录的py文件内调用某叶目录文件内的包/库或者函数(常用在GUI编程)之详细攻略 目录

  4. python包的中 _init _.py文件介绍

    python包的中 _init _.py文件介绍 我们新建python包时常常会看到一个__init _.py文件. 作用介绍: ​ 一:这个文件是属于python包的,这个文件用作于标识python ...

  5. Python py文件如何调用其他py文件

    py文件如何调用不同文件夹下的py文件,参考博客: https://blog.csdn.net/lwgkzl/article/details/81161985 py文件调用同文件夹下的py文件,参考博 ...

  6. python setting.py_python基础教程:Django框架的中的setting.py文件说明详解

    这篇文章主要介绍了Django框架的中的setting.py文件说明详解,这个文件包含了所有有关这个Django项目的配置信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.加载数据库,数据库 ...

  7. Django框架的中的setting.py文件说明详解

    这篇文章主要介绍了Django框架的中的setting.py文件说明详解,这个文件包含了所有有关这个Django项目的配置信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.加载数据库,数据库 ...

  8. python基础教程:Django框架的中的setting.py文件说明详解

    这篇文章主要介绍了Django框架的中的setting.py文件说明详解,这个文件包含了所有有关这个Django项目的配置信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.加载数据库,数据库 ...

  9. 请求体的方式传参_Angularjs中$http以post请求通过消息体传递参数的实现方法

    本文实例讲述了Angularjs中$http以post请求通过消息体传递参数的方法.分享给大家供大家参考,具体如下: Angularjs中,$http以post在消息体中传递参数,需要做以下修改,以确 ...

最新文章

  1. 为了去重复,写了一个通用的比较容器类,可以用在需要比较的地方,且支持Lamda表达式...
  2. #ifndef 在头文件中的作用
  3. 编写Ogre插件的一般方法
  4. Web存储机制—sessionStorage,localStorage使用方法
  5. GFS分布式文件系统简介及部署——让存储变得更高级
  6. 新闻发布项目——实体类(User)
  7. 前端学习(338):堆栈
  8. 猜数字游戏python程序_python经典小程序:猜数字游戏
  9. linux克隆后没有eth0,解决linux机器克隆后eth0不见的问题
  10. ExtJs + Struts2 + JSON 程序总结
  11. Centos7 Kubernetes(k8s) 开发服务器(单服务器)部署 redis 缓存
  12. oracle 设置不可重复,oracle – 不可重复读和幻读之间有什么区别?
  13. 最新一代CAD技术方案------Onshape
  14. python计算日期是一年中的第几天,Python根据年月日,计算是一年的第几天
  15. 创建MovieClip类
  16. # Logistic regression中的threshold
  17. linux命令vi编辑文件注释掉某一行,请问linux的vi命令进入文本编辑后怎么去删除一行?...
  18. 鸿蒙系统手机电脑互传文件,【手机篇】巧借局域网,便捷实现手机电脑间的文件传输...
  19. Defender绝密档案:惊现中本聪?
  20. Linux鸟哥的私房菜(第五章 文件权限以及目录配置)

热门文章

  1. azure备份存储层分类_备份到Azure –如何做到这一点?
  2. 获取request的json数组对象
  3. centos /bin /sbin /usr/bin /usr/sbin 目录的说明
  4. mysql 水平分表
  5. HTML实时预览-LiveReload完整使用方法
  6. 图片--Android加载图片导致内存溢出(Out of Memory异常)
  7. top10开源docker开发工具
  8. Windows 端口
  9. Path.GetExtension 方法
  10. ConcurrentLinkedQueue源码