我需要从命令行捕获错误而屏幕上没有打印错误消息。发生这种情况时,我需要再运行一个命令。
这就是我现在所做的:
hyst_cmd = "si viewhistory ..."
process = subprocess.Popen(hyst_cmd, stdout=subprocess.PIPE)
hyst = process.stdout.read().splitlines()
当我为某些项目执行此操作时,我会在屏幕上收到错误消息。
抱歉我的英文!
答案 0 :(得分:0)
根据官方文档,Popen在子流程中最常见的例外是 OSError 。
要捕获错误,您只需尝试以下方法:
hyst_cmd = "si viewhistory ..."
try:
process = subprocess.Popen(hyst_cmd, stdout=subprocess.PIPE)
hyst = process.stdout.read().splitlines()
except OSError:
<write_log_file or other action.>
有关详细信息,请查看以下链接:
Subprocess Exception