我是靠谱客的博主 欢呼斑马,最近开发中收集的这篇文章主要介绍os._exit() vs sys.exit(),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

概述

python的程序有两中退出方式:os._exit(), sys.exit()。本文介绍这两种方式的区别和选择。

os._exit()会直接将python程序终止,之后的所有代码都不会继续执行。

sys.exit()会引发一个异常:SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获此异常的代码,那么这些代码还是会执行。

 

举例说明

1 import os
2 
3 try:
4     os._exit(0)
5 except:
6     print 'die.'

此处不会打出"going to die"

 

import sys

try:
    sys.exit(0)
except:
    print 'die'
finally:
    print 'cleanup'

输出:

die

cleanup

 

区别

综上,sys.exit()的退出比较优雅,调用后会引发SystemExit异常,可以捕获此异常做清理工作。os._exit()直接将python解释器退出,余下的语句不会执行。

一般情况下使用sys.exit()即可,一般在fork出来的子进程中使用os._exit()

 

参考:

http://docs.python.org/2/library/exceptions.html#exceptions.SystemExit

 

转载于:https://www.cnblogs.com/gaott/archive/2013/04/12/3016355.html

最后

以上就是欢呼斑马为你收集整理的os._exit() vs sys.exit()的全部内容,希望文章能够帮你解决os._exit() vs sys.exit()所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部