sys.exit()通过引发SystemExit异常安全终止程序,可传入状态码或错误信息,支持清理操作。

在 Python 中,sys.exit() 是用来终止程序运行的常用方法。它通过引发一个 SystemExit 异常来中断程序,而不是直接强制结束进程,因此可以被捕获并进行清理操作。
导入 sys 模块
使用 sys.exit() 之前,需要先导入 sys 模块:
import sys基本用法
调用 sys.exit() 可以不带参数或带整数/字符串参数:
- sys.exit() 或 sys.exit(0):表示正常退出,通常用于程序顺利完成任务后退出
- sys.exit(1) 或其他非零值:表示异常退出,常用于错误处理
- sys.exit("错误信息"):传入字符串会将其输出到标准错误,然后退出
示例:
立即学习“Python免费学习笔记(深入)”;
if some_error_occurred: sys.exit("发生错误,程序退出")
在异常中使用
由于 sys.exit() 实际上是抛出 SystemExit 异常,你可以在 try-except 块中捕获它,做资源清理工作:
import systry: print("程序开始") sys.exit("测试退出") except SystemExit as e: print(f"捕获退出信号: {e}")
可在此处记录日志或关闭文件等
raise # 如果仍要退出,重新抛出
与其他退出方式的区别
- os._exit():直接终止进程,不触发清理操作,一般不推荐在常规逻辑中使用
- return:只能退出当前函数,不能终止整个程序
- sys.exit():安全退出,允许 finally 块执行,适合大多数场景
基本上就这些。只要记得导入 sys,根据情况传参即可。不复杂但容易忽略细节,比如用非零码表示错误能让脚本调用更清晰。











