退出python进程的最佳方法

退出python进程,你可能听说过很多种方法,包括exit(),sys.exit(), os._exit(), quit(),这些方法都可以让进程退出,那么他们有什么区别呢。

下表是对这4种方法的对比

函数 适用场景 是否抛出SystemExit异常
exit 交互式环境
quit 交互式环境
os._exit 子进程退出
sys.exit 主进程退出
  1. exit和quit都适用于在交互式环境下使用,他们都是内置函数,都抛出SystemExit异常
  2. os._exit 不会抛出SystemExit 异常,一旦执行,进行就退出,因此你来不及做一些清理工作
  3. sys.exit 会抛出SystemExit异常,你可以捕获这个异常,做一些请求工作

sys.exit是python退出程序最常用最正式的一种做法,你必须在调用时指明退出码,退出码为0表示正常退出,其他表示非正常退出。

import sys

try:
    sys.exit(3)
except SystemExit as e:
    print(f'进程退出,退出码是{e.code}')

使用e.code可以获得退出码,程序可以根据退出码不同执行相应的清理工作。

扫描关注, 与我技术互动

QQ交流群: 211426309

加入知识星球, 每天收获更多精彩内容

分享日常研究的python技术和遇到的问题及解决方案