Python3在异常期间阻止子流程执行



如果子进程.run出现异常失败,如何阻止和停止整个脚本执行?

例如,我有一个函数,在该函数中,我通过subprocess.run运行一个命令,如果该命令返回异常,我不希望执行下一个子process.run,并希望停止脚本执行并完全退出

check=True关键字参数已经做到了这一点;如果子流程没有返回成功(零(退出代码,则会引发异常。

import subprocess
import logging
import sys
commands = ('true', ['sh', '-c', 'true'], 'false', ['echo', 'hello'])
for cmd in commands:
try:
subprocess.run(cmd, check=True)
except subprocess.CalledProcessError:
logging.error('%r failed', cmd)
sys.exit(1)

最新更新