如何避免脚本终止因为python中的子进程非零返回码?

时间:2015-03-11 11:58:13

标签: python

我的脚本总是突然终止,因为我使用subprocess.check_call()subprocess.check_output()

执行的命令

这是错误。

  File "C:\Python34\lib\subprocess.py", line 620, in check_output
    raise CalledProcessError(retcode, process.args, output=output)

subprocess.CalledProcessError: Command '['C:\\Program Files\\info.exe','-student', 'Tony']' returned non-zero exit status 2

在这种情况下,如何避免脚本异常终止?我已经尝试将错误/异常传递给STDOUT,但这似乎没有帮助。

op = subprocess.check_output([installpath+'\\info.exe','-student', name],stderr=subprocess.STDOUT)

我确实使用subprocess.call()阅读了该内容。我不确定subprocess.call()是否不如subprocess.check_output()& subprocess.check_call()

1 个答案:

答案 0 :(得分:1)

try:
    # start a subprocess
except CalledProcessError:
    # do something if it fails.