[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。

相关内容

热门资讯

黑科技神器(微扑克有机器人吗)... 黑科技神器(微扑克有机器人吗)外挂透明挂辅助插件(透视)其实是真的有挂(黑科技解密)-哔哩哔哩小薇(...
黑科技辅助"wpk代... 黑科技辅助"wpk代理合作"pokermaster有外挂吗(切实有挂)-哔哩哔哩1、全新机制【pok...
黑科技插件!德扑ai智能,we... 黑科技插件!德扑ai智能,wepok软件透明挂,科技教程(有挂黑科技)-哔哩哔哩;致您一封信;亲爱w...
黑科技游戏!扑克世界app辅助... 黑科技游戏!扑克世界app辅助(黑科技ai)太坑了是真的有挂(插件教程黑科技技巧)-哔哩哔哩1、下载...
黑科技有挂(智星菠萝德州有挂吗... 黑科技有挂(智星菠萝德州有挂吗)外挂黑科技辅助挂(透视)果然真的有挂(黑科技黑科技)-哔哩哔哩1、下...
黑科技辅助"wpk德... 黑科技辅助"wpk德州扑克线上"wopoker系统机制(确实是有挂)-哔哩哔哩;wpk德州扑克线上辅...
黑科技ai代打!wepoke透... 黑科技ai代打!wepoke透明挂咋测试,aapoker辅助实际测试,解说技巧(有挂透明)-哔哩哔哩...
黑科技工具!德扑之星真的有辅吗... 黑科技工具!德扑之星真的有辅吗(ai代打)太坑了是有挂(科技教程黑科技细节)-哔哩哔哩1、每一步都需...
黑科技数据(wpk辅助器安装)... 黑科技数据(wpk辅助器安装)外挂黑科技辅助器(透视)都是有挂(黑科技揭秘)-哔哩哔哩1、玩家可以在...
黑科技总结"wepo... 黑科技总结"wepoke真的有挂嘛"云扑克德州有挂吗(本来是真的有挂)-哔哩哔哩1、完成云扑克德州有...