详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别

 更新时间:2017年06月23日 10:56:45   投稿:lqh  
这篇文章主要介绍了详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别的相关资料,需要的朋友可以参考下

详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别

os._exit() 和 sys.exit()

os._exit() vs sys.exit()

概述

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

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

sys.exit()会引发一个异常:SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获此异常的代码,那么这些代码还是会执行。捕获这个异常可以做一些额外的清理工作。0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获。

举例说明

#!/usr/local/bin/env python
import os, sys

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

try:
  os._exit(0)
except:
  print('die')
print('os.exit')#不打印直接退出了

输出:

die
cleanup

区别

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

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

一般来说os._exit() 用于在线程中退出

sys.exit() 用于在主线程中退出。

exit() 跟 C 语言等其他语言的 exit() 应该是一样的。
os._exit() 调用 C 语言的 _exit() 函数。

builtin.exit 是一个 Quitter 对象,这个对象的 call 方法会抛出一个 SystemExit 异常。

exit(0)和exit(1)

exit(0):无错误退出
exit(1):有错误退出
退出代码是告诉解释器的(或操作系统)

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • python使用技巧-文件读写

    python使用技巧-文件读写

    这篇文章主要介绍了python使用技巧-文件读写,Python提供了非常方便的文件读写功能,其中open是读写文件的第一步,通过open读写文件的方式和把大象装冰箱是一样的,下面我们就来具体介绍该内容,需要的小伙伴可以参考一下
    2022-02-02
  • 利用python清除移动硬盘中的临时文件

    利用python清除移动硬盘中的临时文件

    本篇文章的目的是在移动硬盘插入到电脑的同时,利用Python自动化和Windows服务删除掉这些临时文件。感兴趣的朋友可以了解下
    2020-10-10
  • pandas如何处理缺失值

    pandas如何处理缺失值

    这篇文章主要介绍了pandas如何处理缺失值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python引入requests报错could not be resolved解决方案

    python引入requests报错could not be resolved解决方案

    这篇文章主要为大家介绍了python引入requests报错could not be resolved解决方案,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python爬取动态网页中图片的完整实例

    Python爬取动态网页中图片的完整实例

    这篇文章主要给大家介绍了关于Python爬取动态网页中图片的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Python装饰器原理与简单用法实例分析

    Python装饰器原理与简单用法实例分析

    这篇文章主要介绍了Python装饰器原理与简单用法,结合实例形式分析了Python装饰器的概念、原理、使用方法及相关注意事项,需要的朋友可以参考下
    2018-04-04
  • python新手练习实例之万年历

    python新手练习实例之万年历

    最近进行python基础培训,课下作业制作万年历,之前没做过,感觉里面还是有很多需要学的,下面这篇文章主要给大家介绍了关于python新手练习实例之万年历的相关资料,需要的朋友可以参考下
    2022-05-05
  • python 顺时针打印矩阵的超简洁代码

    python 顺时针打印矩阵的超简洁代码

    今天小编就为大家分享一篇python 顺时针打印矩阵的超简洁代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • 详谈Numpy中数组重塑、合并与拆分方法

    详谈Numpy中数组重塑、合并与拆分方法

    下面小编就为大家分享一篇详谈Numpy中数组重塑、合并与拆分方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • pycharm 无法加载文件activate.ps1的原因分析及解决方法

    pycharm 无法加载文件activate.ps1的原因分析及解决方法

    这篇文章主要介绍了pycharm报错提示:无法加载文件\venv\Scripts\activate.ps1,因为在此系统上禁止运行脚本,解决方法终端输入get-executionpolicy,回车返回Restricted即可,需要的朋友可以参考下
    2022-11-11

最新评论