检查 python 函数返回的退出代码

Checking exit code returned by a python function

我写了一个python函数

def foo():
    if A:
        do something
    if B:
        exit(-1)

if __name__ == "__main__":
    foo()

有什么方法可以检查 foo 函数返回的退出代码吗?我是运行它来自windowsshell.

要检查退出代码,请查看变量 $?(在 sh/bash/csh/etc 中)。假设您的脚本在文件 foo.py.

$ ./foo.py
$ echo $?  # Prints 0 on success, -1 on failure.

这不是特定于 python,顺便说一句。对于所有 return 退出代码的程序都是如此。


退出代码不是来自 foo 函数,而是来自 sys.exit() 函数。如果程序因异常退出,它的退出代码为 1。如果您将一个数字传递给 sys.exit(),它会以该退出代码退出。否则,它的退出代码为 0。


对于 Windows shell 查看此答案:How do I get the application exit code from a Windows command line?