我该如何表示我的Python脚本返回了错误?
我正在用Python写一个shell脚本(#!/usr/bin/env python
)。我对shell脚本还不是很熟悉,所以如果我理解错了什么,请见谅。
我现在的理解是,如果我的shell脚本成功运行,我应该调用sys.exit()
来表示它成功了(也就是返回0)。
如果我遇到了错误(比如用户传入了我没有预料到的参数),我应该返回什么,怎么做呢?
直接用非零值调用sys.exit()
可以吗,比如sys.exit(1)
?
2 个回答
6
任何非零的值都可以用。所以 sys.exit(1)
是正确的。这些错误代码在命令行使用脚本时很有用:
python test.py && echo 'success'
当你的脚本返回的值不是0时,上面的代码不会打印'成功'。
7
大多数Shell工具在出现错误时会返回不同的状态值。
一般来说,当状态码为0时,表示执行成功结束。
其他的错误代码则取决于具体的工具。你最有可能在这些工具的手册页中了解到错误代码的具体含义。
下面是一个简单的ls
命令的手册页示例:
Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument).
强烈建议你对自己工具的退出代码进行详细记录,这样用户才能正确使用它。