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

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


当前回答

有一个errno模块定义了标准退出码:

例如,“Permission denied”是错误码13:

import errno, sys

if can_access_resource():
    do_something()
else:
    sys.exit(errno.EACCES)

其他回答

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

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

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

退出码只有脚本作者指定的意义。Unix的传统是,退出码0表示“成功”,否则就是失败。要确定给定脚本的退出码意味着什么,唯一的方法是检查脚本本身。

操作系统命令有退出码。请查看Linux退出代码以了解有关这方面的一些材料。shell使用退出代码来决定程序是否工作、是否存在问题或是否失败。有一些努力来创建标准的(或者至少是常用的)退出码。请参阅这篇高级Shell脚本文章。

退出代码0通常表示“这里没有问题”。但是,如果脚本的程序员没有遵循约定,您可能需要参考源代码来了解它的含义。通常非零值作为错误代码返回。