python 中 os._exit(), sys.exit(), exit() 的区别是什么?

os._exit() 直接退出 Python 解释器,其后的代码都不执行。
sys.exit() 引发一个 SystemExit 异常,没有捕获这个异常,会直接退出;捕获这个异常可以做一些额外的清理工作。
exit() 跟 C 语言等其他语言的 exit() 应该是一样的。

知乎用户,没什么爱好的无聊人士

小流星知乎用户 赞同
一般来说os._exit() 用于在线程中退出
sys.exit() 用于在主线程中退出。

孙竟只学了 6 年 Python

 
补充一下 Joker Qyou 的答案。

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

posted on 2015-08-25 10:24  小西红柿  阅读(1759)  评论(0)    收藏  举报

导航