[Python进阶] Python的几种退出方法
创始人
2024-11-27 09:06:49
0

2.19 Python的几种退出方法

2.19.1 退出状态码

在程序运行到一定程度的时候,我们可能基于某种原因需要退出程序,为了便于后面的分析,需要知道上一次退出的原因是什么,这个时候就可以通过退出状态码来进行分别了。
一般情况下,0代表一切正常。其它的非零代表异常退出。

2.19.2 quit()、exit()

这两种退出的方式几乎是一模一样,都是来自site的mudule,这个site是正常运行Python时自动导入的。
但是,有时候也并不会导入,比如:Python -S example.py的时候,在example.py文件里,如果有这2个退出,则会报错:name ‘quit’ is not defined。
这2个退出相当于raise了一个SystemExit,可以被try语句捕获到。

from icecream import ic  ic(1) quit() ic(2) 

14:59:42|> 1

from icecream import ic  try:     quit() except:     ic(1) 

15:00:36|> 1

from icecream import ic  try:     quit() except Exception:     ic(1)  # 不会输出1 
from icecream import ic  try:     quit() except SystemExit:     ic(1) 

15:01:56|> 1

不输入参数时,默认的退出状态码是0,也就是正常退出。

2.19.3 sys.exit()

需要导入sys模块,运行后也是退出Python。在正式的Py文件中,最好使用这种退出的方法。
sys.exit()相当于raise了一个SystemExit,可以被try语句捕获到。
注意:SystemExit不属于Exception的一个derived class。
try except Exception不能捕获SystemExit,而try except能捕获。

2.19.4 os._exit()

直接做了一个内核调用,在不同的操作系统下,背后的原理是不同的。不过在所有的系统下,都会直接退出程序。
在实际使用中,需要提供一个退出的状态吗。

2.19.5 Ctrl + Z

这种是在PyCharm中或者命令行模式中运行Python代码时,如果按下该快捷键也可以退出Python。

相关内容

热门资讯

第三分钟详情!福建天天开心辅助... 第三分钟详情!福建天天开心辅助器是真的吗(辅助挂)果然是有挂,AI教程(有挂规律)-哔哩哔哩1、完成...
第8分钟开挂!雀友会广东潮汕麻... 第8分钟开挂!雀友会广东潮汕麻雀,微信小程序微乐辅助免费,黑科技教程-2026最新版本1、超多福利:...
第3分钟分享!来物局怎么开挂(... 第3分钟分享!来物局怎么开挂(辅助挂)真是有挂,系统教程(有挂分析)-哔哩哔哩1、全新机制【来物局怎...
第五分钟开挂!山西扣点点胜率辅... 第五分钟开挂!山西扣点点胜率辅助器,微友联盟辅助下载,技巧教程-2026最新版本1、山西扣点点胜率辅...
四分钟解密!邳州友友辅助软件下... 四分钟解密!邳州友友辅助软件下载(辅助挂)竟然真的是有挂,黑科技教程(有挂方式)-哔哩哔哩1、每一步...
六分钟开挂!天天辅助工具,微友... 六分钟开挂!天天辅助工具,微友助手破解版,AI教程-2026最新版本1、微友助手破解版透视辅助简单,...
第8分钟解迷!手机暗宝辅助(辅... 第8分钟解迷!手机暗宝辅助(辅助挂)果然真的有挂,详细教程(有挂技术)-哔哩哔哩;1、手机暗宝辅助系...
1分钟开挂!八闽状元郎竹间茶馆... 1分钟开挂!八闽状元郎竹间茶馆辅助,战神辅助器,德州论坛-2026最新版本1、上手简单,内置详细流程...
第七分钟外挂!榆林打锅子神器(... 第七分钟外挂!榆林打锅子神器(辅助挂)切实有挂,微扑克教程(有挂教学)-哔哩哔哩该软件可以轻松地帮助...
五分钟开挂!多乐跑如何增加胜率... 五分钟开挂!多乐跑如何增加胜率吧,新祥心挂机,玩家教你-2026最新版本1.多乐跑如何增加胜率吧 a...