PyQt5学习笔记02——sys、sys.argv和sys.exit的解释说明

sys、sys.argv和sys.exit的解释说明

如下代码中有3处使用了sys,那它到底有何用呢?

# 导入需要的包
from PyQt5.Qt import *
import sys

app = QApplication(sys.argv)  #创建一个应用程序(比不可少的)

#控件操作
window =QWidget()   #创建一个窗体
window.setWindowTitle("第一个PyQt5窗口设计实例")
window.resize(500,500)  #设置窗体大学
window.move(500,200)    #设置窗体显示位置(相对于屏幕的左上角位置)


lable=QLabel(window)    #创建一个标签控件
lable.setText("Hello word!")
lable.move(200,200)

window.show()   #窗口显示

#开始执行应用程序,并进入消息循环
sys.exit(app.exec_())

1、sys.argv代表什么意思?

我们使用一个简单的例子来说明。

# 文件名:pyqt5-sys分析.py

import sys

#我们运行代码的方式有2种,(1)是右击点击run;(2)命令行 python 代码名称
args = sys.argv
print(args)

输出结果为:

D:\ProgramFiles2019(64)\Python37\python.exe D:/ProgramFiles64/MyCode_Files/Python+PyQT/Qttest01/pyqt5-sys分析.py
['D:/ProgramFiles64/MyCode_Files/Python+PyQT/Qttest01/pyqt5-sys分析.py']

Process finished with exit code 0

可以看出结果是:文件名的路径,它是已列表形式输出。[‘D:/ProgramFiles64/MyCode_Files/Python+PyQT/Qttest01/pyqt5-sys分析.py’]
在这里插入图片描述
下面我们再看看终端Terminal的输出结果:【是当前代码文件的工作目录】

在这里插入图片描述
我们可以在此窗口下使用命令执行pyqt5-sys分析.py文件,输入方式如下:
在这里插入图片描述

=====================================
我再上面代码的基础上添加几句代码,我们再看一下结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果我们在Terminal中执行命令:python pyqt5-sys分析.py 后面再输入3个数字 1 2 3
我们可以看到结果是一个列表,它表示:通过命令行可以将参数传递给系统。

pyqt5-sys分析.py 
1 
2 
3 

上面这4个值相当于是待传给系统的参数值。

在这里插入图片描述
所以,sys.argv——表示系统的形参(待传递给系统的参数变量,它可以是一个值也可以是多个值),多个参数时的排列方式参考python的列表。

2、sys.exit()的功能解释

基本概念:

ys.exit(n) 退出程序引发SystemExit异常, 可以捕获异常执行些清理工作. n默认值为0, 表示正常退出. 其他都是非正常退出. 还可以sys.exit(“sorry, goodbye!”); 一般主程序中使用此退出.
sys.exit([arg])
arg参数表示当前状态值。看下图提示框。
在这里插入图片描述

sys.exit(exit_code) 表示系统进程退出时对应的退出码,0——表示正常退出(我们在执行代码时,若最后一行看到一个0时,表示程序正确);非0——表示程序有错误、执行未完成或程序正在执行等。可以看下面一个例子
在这里插入图片描述
在这里插入图片描述
上面这段代码有一个错误,print(args3),多输入一个3,导致找不到变量args3,我们看下面的输出结果:
在这里插入图片描述
【下面再看一个例子】我们执行一个debug窗口
在这里插入图片描述
run框的输出结果为:
在这里插入图片描述
为什么呢?
主要是因为
(1)程序执行正确,没有提示错误;
(2)“运行窗口还没有关闭(退出)”;

如果我们手动正常关闭窗口,表示正确执行退出过程,则输出值为0的退出码。结果如下图
在这里插入图片描述

【再看一个退出码非0和1值的例子】
我们将此也文章最前面的程序中的某句代码注释掉,然后run。
在这里插入图片描述
运行结果如图所示:
在这里插入图片描述
退出为:-1073…——表示程序内部错误

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值