2021-11-05

python 中 os._exit(), sys.exit(), exit() 的区别是什么?

1. sys.exit(n)

  • 退出程序引发SystemExit异常, 可以捕获异常执行些清理工作.

    • 如果有捕获该异常的代码,那么后面的代码还是会执行。

    • 一般主程序中使用此退出。

    • 举例:

      •   import sys
          
          try:
              sys.exit(0)
          except:
              print("异常捕获")  # 可以执行print语句,因为sys.exit()调用出现了异常
        

2. os._exit(n)

  • 会直接将python程序终止,之后的所有代码都不会执行。

    • 常用在子进程的退出。

    • 举例:

      •   import os
          
          try:
              os._exit(0)
          except:
              print("异常捕获")  # 不会执行print语句,前面os._exit()直接退出了程序
        

3. exit()/quit()

  • 跑出SystemExit异常。

    • 一般在交互式shell中退出时使用。
上一篇:使用 Python 解释器


下一篇:Python重写print实现输出带时间截的日志log文件