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

发布时间 - 2026-01-11 02:01:21    点击率:

详解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中  # os._exit()  # python中  #   # sys.exit()  # exit(0)和exit(1)  # 的比较  # python中的sys模块和os模块  # python os.system执行cmd指令代码详解  # 解决python中os.system调用exe文件的问题  # Python调用系统命令os.system()和os.popen()的实现  # Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析  # python sys  # os  # time模块的使用(包括时间格式的各种转换)  # python中os和sys模块的区别与常用方法总结  # python中内置库os与sys模块的详细介绍  # 是一个  # 获此  # 出了  # 将会  # 希望能  # 谢谢大家  # 后会  # 不正常  # 这两种  # 抛出  # 有错误  # 举例说明  # 法会  # 操作系统  # 综上  # 是一样的  # strong  # SystemExit  # 有两中  # python 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  如何用AI帮你把自己的生活经历写成一个有趣的故事?  独立制作一个网站多少钱,建立网站需要花多少钱?  ,怎么在广州志愿者网站注册?  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  JS碰撞运动实现方法详解  如何正确下载安装西数主机建站助手?  javascript中闭包概念与用法深入理解  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  javascript如何操作浏览器历史记录_怎样实现无刷新导航  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  如何在阿里云高效完成企业建站全流程?  Laravel如何使用Telescope进行调试?(安装和使用教程)  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  高防服务器租用首荐平台,企业级优惠套餐快速部署  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  如何在阿里云ECS服务器部署织梦CMS网站?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  如何安全更换建站之星模板并保留数据?  java ZXing生成二维码及条码实例分享  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  如何用wdcp快速搭建高效网站?  java中使用zxing批量生成二维码立牌  如何在阿里云服务器自主搭建网站?  如何用VPS主机快速搭建个人网站?  新三国志曹操传主线渭水交兵攻略  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  Laravel如何保护应用免受CSRF攻击?(原理和示例)  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  EditPlus中的正则表达式 实战(4)  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  文字头像制作网站推荐软件,醒图能自动配文字吗?  如何快速搭建高效服务器建站系统?  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  Laravel API资源类怎么用_Laravel API Resource数据转换  如何基于云服务器快速搭建个人网站?  Laravel如何实现事件和监听器?(Event & Listener实战)