新手要弄清楚各种退出命令,以及退出的主体
(1) 退出的主体是:先搞清楚,你在哪儿?
(2) 怎么退出: 在当前这个环境下,用什么命令退出
位置:cmd / powershell
命令:exit
退出cmd / powershell
位置:可执行程序内,如 在python下
命令:
(1)Ctrl+Z :退出当前程序 #在命令行里,已经进入Python后,
(2)quit() :类^z, #在命令行里,已经进入Python后,输入quit()可以退出程序
位置:python脚本/模块内,如 import sys,os了
命令:sys.exit() os.exit()
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中退出时使用.
位置:pygame脚本内,输入了import pyame
命令:pygame.quit()
最好先pygame.quit() 再输入sys.exit()
先退出pygame 避免bug,而不是直接退python
打断命令
我现在理解的打断是跳出当前的执行块?
(1) Ctrl+C :打断当前脚本/命令