Python中exit(0)
和exit(1)
之间有什么区别?
我试着环顾四周,但没有找到这些问题的具体问题。如果它已经被回答,那么链接就足够了。
答案 0 :(得分:199)
0和1是退出代码。
exit(0)
表示没有任何错误/问题的干净退出
exit(1)
表示存在一些问题/错误/问题,这就是程序退出的原因。
这不是特定于Python的,而且很常见。非零退出代码被视为异常退出,有时,错误代码表示问题所在。零错误代码意味着成功退出。
这对其他程序,shell,调用者等非常有用,可以了解您的程序发生了什么并继续进行。
答案 1 :(得分:17)
这确定了程序运行完成后的exit status(通常,0表示成功,1表示错误)。
它并不是Python的独特之处,确切的效果取决于您的操作系统以及程序的调用方式(尽管99%的情况下,如果您只是运行Python脚本,则无关紧要)。 / p>
答案 2 :(得分:8)
所有C程序(包括Python)的标准约定是exit(0)
表示成功,exit(1)
或任何其他非零值(在1..255范围内)表示失败。超出范围0..255的任何值都以256为模(处理退出状态存储在8位值中)。有时,这将被视为已签名(因此您可能会看到-128,-127等),但通常将其视为无符号。
此状态可用于调用Python的代码。此约定适用于跨平台,但非零退出状态的含义可能因平台而异。
答案 3 :(得分:5)
传递给exit()
函数的数字只是程序的返回代码,该代码将提供给操作系统。从程序的角度来看,没有区别:执行将在两种情况下结束,并且提供给函数的值将被赋予操作系统。但是一些工具和脚本会考虑程序的退出代码。大多数工具成功时返回0,非零表示错误。
因此,如果您的程序将从脚本,自动化工具或考虑到返回代码的其他软件(例如IDE)运行,那么您必须小心返回的内容。
如果有疑问,只需返回0表示一切正常。
答案 4 :(得分:1)
exit(0)
:这会导致程序以成功终止退出。
exit(1)
:这会导致程序以系统特定的含义退出。
在许多系统上,exit(1)
表示某种失败,但是存在
不能保证。
我记得,C标准只承认三个标准退出 值:
EXIT_SUCCESS
- 成功终止EXIT_FAILURE
- 终止失败0
- 与EXIT_SUCCESS