【发布时间】:2020-01-31 23:16:55
【问题描述】:
我有以下几点:
subprocess.call(['trufflehog', '/Users/myuser/workspace/somedir']) #this works
subprocess.check_output(['trufflehog', '/Users/myuser/workspace/somedir']) #this fails
subprocess.CalledProcessError: Command '['trufflehog', '/Users/myuser/workspace/somedir']' returned non-zero exit status 1.
由于某些原因 check_output 失败但调用工作正常。但是 .call 的问题在于它实际上并没有保留我的输出,它只是将它打印到 stdout 并返回一个状态码。如何获得 trufflehog 的输出?
【问题讨论】:
-
你能不能在 bash 中运行命令:
$ trufflehog /Users/myuser/workspace/somedir然后获取退出码:echo $?也可以尝试使用communicate或Popen -
嗯,我得到了退出代码的 echo $ $
-
$$是您当前 shell 的 PID。$?是最后一个命令的退出代码。trufflehog报告它通过返回非零退出代码而失败。
标签: python subprocess