Python中退出(0)和退出(1)之间的区别

Python中的exit(0)exit(1)什么区别?

我试图四处张望,但没有find这些线上的具体问题。 如果它已经被回答了,一个链接就足够了。

0和1是退出代码。

exit(0)表示干净的出口没有任何错误/问题

exit(1)意味着有一些问题/错误/问题,这就是为什么该程序正在退出。

这不是Python特定的,而且很常见。 一个非零退出代码被视为一个exception退出,有时,错误代码指出了问题所在。 零错误代码表示成功退出。

这对于其他程序,shell,调用者等来说很有用,知道你的程序发生了什么,并据此进行操作。

这决定了程序在结束运行时的退出状态 (一般为0,成功为1,错误为1)。

这不是Python独有的,确切的效果取决于你的操作系统和程序的调用方式(尽pipe99%的时间,如果你只是运行Python脚本,没关系)。

包括Python在内的所有C程序的标准约定用于exit(0)表示成功, exit(1)或任何其他非零值(范围在1到255之间)表示失败。 任何超出范围0..255的值都将被视为模256(退出状态存储在一个8位值中)。 有时,这将被视为签名(所以你可能会看到-128,-127等),但更通常它被视为无符号。

这个状态对于调用Python的代码是可用的。 这个惯例适用于不同平台,尽pipe非零退出状态的含义可以在不同的平台上有所不同。

传递给exit()函数的数字就是您的程序的返回代码,它被提供给操作系统。 从程序的angular度来看,没有什么区别:执行将在两种情况下结束,并且提供给函数的值将被赋予给操作系统。 但是一些工具和脚本考虑了程序的退出代码。 大多数工具在成功时返回0,非零表示出错。

所以,如果你的程序是从一个脚本,一个自动化的工具或者其他考虑了返回代码的软件(比如IDE)运行的,那么你必须小心你返回的结果。

如果有疑问,只需返回0表示一切正常。

exit(0) :这会导致程序退出并成功终止。

exit(1) :这会导致程序以系统特定的含义退出。

在许多系统上, exit(1)表示某种失败,但是没有保证。

我记得,C标准只承认三个标准退出值:

  • EXIT_SUCCESS – 成功终止
  • EXIT_FAILURE – 终止不成功
  • 0 – 与EXIT_SUCCESS相同