os._exit() vs sys.exit()

转自: http://www.cnblogs.com/gaott/archive/2013/04/12/3016355.html

概述

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 systry: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

python的两种退出方式相关推荐

  1. python支持的编程方式包括,python的两种编程方式是什么

    一.交互式编程 什么是交互式编程,就是在命令行中输入python 命令即可启动交互式编程,提示窗口如下: 而且还用了Python3的print方法打印出一串字符串. 二.脚本式编程 通过脚本参数调用解 ...

  2. python的两种计时方式

    import time# 方式1: time_start_1 = time.time() # code time_end_1 = time.time() print("运行时间:" ...

  3. python threading 两种创建方式

    作用:建立在thread模块之上,可以更容易地管理多个执行线程. 通过使用线程,程序可以在同一个进程空间并发地运行多个操作.threading模块建立在thread的底层特性基础上,可以更容易地完成线 ...

  4. Python中两种文件修改的方式

    文件的数据是存放于硬盘上的,因而只存在覆盖.不存在修改这么一说,我们平时看到的修改文件,都是模拟出来的效果,具体的说有两种实现方式. 一.方式一 将硬盘存放的该文件的内容全部加载到内存,在内存中是可以 ...

  5. python3解释器执行not 1 and 1_编程语言的分类,python解释器多版本共存.执行python的两种方式,变量,用户与程序交互...

    一.编程语言的分类? 机器语言:直接使用二进制指令编程,直接操作硬件,必须考虑硬件细节. 汇编语言:用简写的英文标识符取代二进制去编写程序,直接操作硬件,必须考虑硬件细节. 高级语言:通过人类能够理解 ...

  6. 多线程python实现方式_python多线程的两种实现方式(代码教程)

    本篇文章给大家带来的内容是关于python多线程的两种实现方式(代码教程),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 线程是轻量级的进程,进程中可划分出多个线程,线程可独立的调度 ...

  7. 运行python的两种方式磁盘式_python计算机基础-Day1

    计算机基础-Day1 一.计算机基础 首先Python是一门编程语言 语言: 那什么是语言?语言就是一种事物与另一种事物沟通的介质. 所以说编程语言是程序员跟计算机沟通的介质,那么为什么要跟计算机沟通 ...

  8. Python入门——运行python的两种方式变量常量

    一.运行python的两种方式 1. 交互式环境:输入代码立即执行,得到结果 优点:调试程序方便 缺点:无法永久保存程序 2. 命令行:python3 D:\test.txt 优点:以文件的方式将代码 ...

  9. python定义字符串变量有两种常用方式_Python 1基础语法二(标识符、关键字、变量和字符串)...

    一.标识符 标识符就是程序员自己命名的变量名.名字需要有见名知义的效果,不要随意起名 :比如 a=1 a是个变量,a这个变量名属于标识符 1 company = '小米 2 employeeNum = ...

最新文章

  1. 修改注册表添加信任站点及启用Activex控件(转载)
  2. 【opencv系列08】OpenCV4.X图像融合操作
  3. 视图添加字段_使用ExploreByTouchHelper辅助类为自定义视图添加虚拟视图
  4. QTreeWidget的基本操作
  5. mybatis那些事~
  6. 字节跳动 计算机视觉方向算法实习生 招聘!
  7. 一行 Python 代码能干什么?有意思!
  8. 刚刚创业的你 这几点让你的公司不断前进
  9. 专题页汇聚seo流量的葵花宝典
  10. 【Python学习】sklearn层次聚类
  11. html向下三角箭头,CSS制作三角箭头(兼容IE6)
  12. Openbci升级版使用方法
  13. 聚乙烯醇(PVA)/壳聚糖(CTS)/氧化石墨烯(GO)水凝胶吸附和解吸实验(供应PNIPA/膨润土复合/聚乙烯醇/魔芋胶复合/HAP纳米纤维/GelMA复合丝素蛋白(SF)复合水凝胶等)
  14. 页面可视化搭建工具技术要点
  15. 【DB笔试面试606】在Oracle中,coe_xfr_sql_profile.sql脚本的作用是什么?
  16. C#后台生成画报(海报)
  17. Masonry比例用法
  18. 5.1 单片机-16x16LED点阵屏
  19. 生产环境不同问题定位及分析
  20. 236. 二叉树的最近公共祖先 java解决

热门文章

  1. 测试工程师如何帮助开发域的质量变好
  2. AM574x硬件定时器
  3. maven打jar包
  4. 紫外激光打标机哪家好?
  5. ccie证书种类有哪些?
  6. ssm 网上零食商城
  7. Linux学习——awk
  8. 快速排序个人小结(交换法与挖坑法)
  9. knife4j或Swagger接口文档中找不到部分API文档
  10. TSNE高维数据降维可视化工具 + python实现