Python的子流程check_ouput()返回代码的含义

时间:2019-01-04 01:15:45

标签: python subprocess

在某处有一个文档,该文档指示python子进程check_output()命令的不同返回码是什么意思吗?我看到返回码等于3,不知道该值是什么设置和/或它是什么意思。

示例代码:

try:
    output = subprocess.check_output(cmd,
                                     stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
    print e.returncode

此代码正在打印3。

1 个答案:

答案 0 :(得分:3)

Python subprocess.check_output()本身并不返回 code ,而是返回正在运行的命令的 output 。可以在here中找到该Doco。

如果您在该字符串中看到错误代码,则几乎可以肯定它是特定于您要运行的,而不是subprocess本身的结果。

但是,如果您捕获的是由非零返回码(可以从CalledProcessError属性中提取)引起的returncode异常,则这是 still 特定于您正在运行的内容。

在两种情况下,您都需要检查的文档是所运行的任何工具subprocess的文档。