我收到一条消息,说脚本xyz.py返回退出代码0。这是什么意思?

Python中的退出码是什么意思?有多少个?哪些是重要的?


当前回答

我建议使用内置的exit(0)干净地关闭,而不是使用sys.exit()

我不确定这是不是一个好建议。

所提到的文件如下:

site模块(在启动过程中自动导入,除非给出了-S命令行选项)将几个常量添加到内置名称空间。它们对于交互式解释器shell很有用,不应该在程序中使用。

然后:

退出(代码=没有) 对象,在打印时,打印类似“使用quit()或Ctrl-D(即EOF)退出”的消息,并在调用时引发带有指定退出码的SystemExit。

如果我们将它与sys.exit()文档进行比较,它使用的机制与引发SystemExit异常的机制相同。

其他回答

您要在脚本中查找对sys.exit()的调用。该方法的参数作为退出代码返回给环境。

脚本很可能从未调用退出方法,而0是默认的退出代码。

如果您希望可移植地使用标准POSIX退出码,请参阅PyPI上的exitstatus包。

安装包:

$ pip install exitstatus

在你的代码中使用:

import sys
from exitstatus import ExitStatus

sys.exit(ExitStatus.success)

为了记录,您可以使用这里定义的POSIX标准退出码。

例子:

import sys, os

try:
    config()
except:
    sys.exit(os.EX_CONFIG) 
try:
    do_stuff()
except:
    sys.exit(os.EX_SOFTWARE)
sys.exit(os.EX_OK) # code 0, all ok

在许多编程语言中,退出码由程序员决定。因此您必须查看您的程序源代码(或手册)。零通常表示“一切都很好”。

我建议使用内置的exit(0)干净地关闭,而不是使用sys.exit()

我不确定这是不是一个好建议。

所提到的文件如下:

site模块(在启动过程中自动导入,除非给出了-S命令行选项)将几个常量添加到内置名称空间。它们对于交互式解释器shell很有用,不应该在程序中使用。

然后:

退出(代码=没有) 对象,在打印时,打印类似“使用quit()或Ctrl-D(即EOF)退出”的消息,并在调用时引发带有指定退出码的SystemExit。

如果我们将它与sys.exit()文档进行比较,它使用的机制与引发SystemExit异常的机制相同。