我收到一条消息,说脚本xyz.py返回退出代码0。这是什么意思?
Python中的退出码是什么意思?有多少个?哪些是重要的?
我收到一条消息,说脚本xyz.py返回退出代码0。这是什么意思?
Python中的退出码是什么意思?有多少个?哪些是重要的?
当前回答
我建议使用内置的exit(0)干净地关闭,而不是使用sys.exit()
我不确定这是不是一个好建议。
所提到的文件如下:
site模块(在启动过程中自动导入,除非给出了-S命令行选项)将几个常量添加到内置名称空间。它们对于交互式解释器shell很有用,不应该在程序中使用。
然后:
退出(代码=没有) 对象,在打印时,打印类似“使用quit()或Ctrl-D(即EOF)退出”的消息,并在调用时引发带有指定退出码的SystemExit。
如果我们将它与sys.exit()文档进行比较,它使用的机制与引发SystemExit异常的机制相同。
其他回答
下面是Unix退出代码0 -成功/ OK, 1 -不成功/错误。你可以简单地使用exit(0)或exit(1)调用而不导入sys module。
退出代码0通常表示“这里没有问题”。但是,如果脚本的程序员没有遵循约定,您可能需要参考源代码来了解它的含义。通常非零值作为错误代码返回。
有一个errno模块定义了标准退出码:
例如,“Permission denied”是错误码13:
import errno, sys
if can_access_resource():
do_something()
else:
sys.exit(errno.EACCES)
如果您希望可移植地使用标准POSIX退出码,请参阅PyPI上的exitstatus包。
安装包:
$ pip install exitstatus
在你的代码中使用:
import sys
from exitstatus import ExitStatus
sys.exit(ExitStatus.success)
退出码只有脚本作者指定的意义。Unix的传统是,退出码0表示“成功”,否则就是失败。要确定给定脚本的退出码意味着什么,唯一的方法是检查脚本本身。