2019独角兽企业重金招聘Python工程师标准>>>

os._exit() 和 sys.exit()

os._exit() vs sys.exit()

概述

Python的程序有两中退出方式:os._exit(), sys.exit()。本文介绍这两种方式的区别和选择。
os._exit()会直接将python程序终止,之后的所有代码都不会继续执行。
sys.exit()会引发一个异常:SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获此异常的代码,那么这些代码还是会执行。捕获这个异常可以做一些额外的清理工作。0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获。

举例说明

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

此处不会打出”going to die”

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

输出:

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):有错误退出
退出代码是告诉解释器的(或操作系统)

原文来自: https://www.linuxprobe.com/python-exit-exit.html

转载于:https://my.oschina.net/ssdlinux/blog/3030039

python中 os._exit() 和 sys.exit(), exit(0)的用法和区别相关推荐

  1. Python中 rstrip()、 lstrip()、 strip() 的用法和区别

    目录: 题目一:Python中 rstrip(). lstrip(). strip() 的用法和区别 题目二:python中append().expend()函数的用法和区别 题目三:Python中z ...

  2. python exit 0_python中 os._exit() 和 sys.exit(), exit(0)的用法和区别

    os._exit() 和 sys.exit() os._exit() vs sys.exit() 概述 Python的程序有两中退出方式:os._exit(), sys.exit().本文介绍这两种方 ...

  3. python 捕捉 ctrl+c 异常方法, os._exit() 和 sys.exit() 的用法和区别

    这里写自定义目录标题 python 捕捉 ctrl+c 异常方法 第一种方法 第二种方法使用 signal 模块 python 中 os._exit() 和 sys.exit() 的用法和区别 概述 ...

  4. python中os.system.获取输出信息_python中os.system()的返回值

    [python中os.system()的返回值] 如果第三方程序返回的是布尔型返回值,os.system会将true转为1,false转为0进行返回. 问题: /bin/xxx.py是一个返回码为1的 ...

  5. python中os操作文件及文件路径

    python中os操作文件及文件路径实例汇总     1 . python获取文件上一级目录:取文件所在目录的上一级目录 os.path.abspath(os.path.join(os.path.di ...

  6. Python中os和shutil模块实用方法集锦

    Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...

  7. Python中os库的使用

    文章目录 Python中os库的使用 1. path子库 1.1 获取绝对路径 1.2 归一化path的表示形式 1.3 得到文件的相对路径 1.4 获取目录名 1.5 获取文件名 1.6 路径组合 ...

  8. python中os.path.join()的循环用法_Python os.path.join()用法及代码示例

    Python中的OS模块提供了与操作系统进行交互的功能.操作系统属于Python的标准实用程序模块.该模块提供了使用依赖于操作系统的功能的便携式方法. os.path模块是Python中OS模块的su ...

  9. Python中os.listdir的排序问题

    参考  Python中os.listdir的排序问题 - 云+社区 - 腾讯云 上周应别人要求,使用python批量修改文件名称. 文件名有规律,当时就用了一个函数直接精确的用文件名替换了.后来想直接 ...

  10. python中os.path.join()的循环用法_python中使用os.path.join()

    os.path.join的详细解释请移步os.path模块 在使用的过程中,我使用如下代码: import os path = "F:/gts/gtsdate/" b = os.p ...

最新文章

  1. spring实例教程
  2. Java基础之Comparable接口和Comparator接口的比较
  3. Java生成xlsx格式的excel文件
  4. 018_Jedis的Hash数据类型
  5. 购买使用vps建站(3)
  6. 浅谈 温故知新——HTML5!
  7. Segment fault之痛
  8. 消息队列入门(三)JMS标准及实现
  9. payara 创建 集群_使用Payara Micro的Easy Java EE Microservices
  10. 设置build.gradle打包时自动加时间
  11. bzoj 4514: [Sdoi2016]数字配对(二分图+费用最大流)
  12. 【转】Data truncation: Truncated incorrect DOUBLE value:Mysql Update时
  13. k1658停运到什么时候_2020年春节快递几号停运 2020年春节快递停运时间电商春节放假通知...
  14. 190809每日一次
  15. Solidworks2022安装
  16. 使用jsMind实现可拖拽思维导图
  17. 深度 | 为什么通用AMM模型不适用于期权交易定价?
  18. python红楼梦作者_用 Python 分析《红楼梦》,后四十回是曹雪芹所写吗?(开源)...
  19. java 统一日志_基于log4j实现统一日志管理
  20. 【Linux】Linux下怎么下载安装Chrome?

热门文章

  1. The Basic Knowledge of Graph(图的基本知识)
  2. 结果概率_解疑:一批网申结果何时出?通过网申的概率有多大?
  3. 3.1 广义线性模型 And XGBoost
  4. 凸优化第四章凸优化问题 4.4二次优化问题
  5. 推荐给初学LSTM或者懂个大概却不完全懂的人
  6. Deep Reinforcement Learning for Dialogue Generation-关于生成对话的深度强化学习
  7. IDEA连接服务器执行python程序
  8. 2020_0527_近期思考
  9. (1)GO数据库存储结构详解(从数据库构建角度解析)
  10. 最新基于高德地图的android进阶开发(2)小试牛刀