我有一个脚本正在执行5个不同的Shell命令,并且我正在使用subprocess.check_call()
执行它们。问题是我似乎无法弄清楚如何正确捕获和分析返回码。
根据文档The CalledProcessError object will have the return code in the returncode attribute.
,但我不知道如何访问它。如果我说
rc = subprocess.check_call("command that fails")
print(rc)
告诉我
subprocess.CalledProcessError:命令'失败的命令'返回非零退出状态1
但是我不知道如何仅捕获1的整数输出。
我想这一定是可行的?
subprocess.check_call
方法失败时将引发CalledProcessError
。从文档:
subprocess.check_call(args, *, stdin=None, stdout=None, stderr=None, shell=False, cwd=None, timeout=None, **other_popen_kwargs)
运行带有参数的命令。等待命令完成。如果返回码为零然后返回,否则引发CalledProcessError。CalledProcessError对象将在returncode属性。
您可能只希望subprocess.run或使用try / except块来处理CalledProcessError