Python 中的退出代码

新手上路,请多包涵

我收到一条消息说 script xyz.py returned exit code 0 。这是什么意思?

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

原文由 sundeep 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 475
2 个回答

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

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

原文由 Dave Costa 发布,翻译遵循 CC BY-SA 4.0 许可协议

sys.exit 的文档中:

可选参数 arg 可以是给出退出状态的整数(默认为零),或其他类型的对象。如果它是一个整数,则零被认为是“成功终止”,任何非零值被 shell 等认为是“异常终止”。大多数系统要求它在 0-127 范围内,否则会产生未定义的结果。一些系统有为特定退出代码分配特定含义的约定,但这些通常不发达; Unix 程序通常使用 2 表示命令行语法错误,使用 1 表示所有其他类型的错误。

使用退出代码的一个例子是在 shell 脚本中。在 Bash 中,您可以检查特殊变量 $? 最后的退出状态:

 me@mini:~$ python -c ""; echo $?
0
me@mini:~$ python -c "import sys; sys.exit(0)"; echo $?
0
me@mini:~$ python -c "import sys; sys.exit(43)"; echo $?
43

我个人尝试使用在 /usr/include/asm-generic/errno.h (在 Linux 系统上)中找到的退出代码,但我不知道这样做是否正确。

原文由 Eigir 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏