【整理】python学习笔记(自学阶段4)-- 关于各种退出,如sys的exit(n)等

命令行退出命令

命令行命令

(1)  Ctrl+C  :打断当前脚本/命令

(2)  exit  :退出cmd / powershell

后2个类似,进入程序后

(1)Ctrl+Z  :退出当前程序      #在命令行里,已经进入Python后,

(2)quit()   :类^z,     #在命令行里,已经进入Python后,输入quit()可以退出程序

sys.exit()

import sys

sys.exit(0)       #正常退出

sys.exit(1)       #异常退出

sys.exit(127)

理论上只有是否返回报错退出,如果外面不处理返回的错误结果的话,应该是一样的

 

sys.exit()和os_exit()

比如

原文:https://blog.csdn.net/u010571844/article/details/50419261 

sys.exit(n)
sys.exit(n)退出方式比较优雅,它引发一个 SystemExit异常,没有捕获这个异常,会直接退出;捕获这个异常可以做一些额外的清理工作。参数为n=0正常退出,n其他数值(1-127)为不正常,可抛异常事件供捕获。 
* 一般来说sys.exit() 用于在主线程中退出 
* 一般情况下使用sys.exit()即可

os._exit(n)
直接退出 Python 解释器,n为状态,其后的代码都不执行。比较不优雅。 
* 一般来说os._exit(n) 用于在线程中退出 
* 一般在fork出来的子进程中使用os._exit(0)将父进程退出

参考资料
Python Exception SystemExit API
Python os._exit(n) API

 

https://www.cnblogs.com/tomato0906/articles/4756735.html

os._exit() 调用 C 语言的 _exit() 函数。
__builtin__.exit 是一个 Quitter 对象,这个对象的 __call__ 方法会抛出一个 SystemExit 异常。

1. sys.exit(n) 退出程序引发SystemExit异常, 可以捕获异常执行些清理工作. n默认值为0, 表示正常退出. 其他都是非正常退出. 还可以sys.exit("sorry, goodbye!"); 一般主程序中使用此退出.
2. os._exit(n), 直接退出, 不抛异常, 不执行相关清理工作. 常用在子进程的退出.
3. exit()/quit(), 跑出SystemExit异常. 一般在交互式shell中退出时使用.

猜你喜欢

转载自blog.csdn.net/xuemanqianshan/article/details/83240469