从命令行Python中捕获错误

时间:2016-07-28 11:14:08

标签: python command

我需要从命令行捕获错误而屏幕上没有打印错误消息。发生这种情况时,我需要再运行一个命令。

这就是我现在所做的:

hyst_cmd = "si viewhistory ..."
process = subprocess.Popen(hyst_cmd, stdout=subprocess.PIPE)
hyst = process.stdout.read().splitlines()

当我为某些项目执行此操作时,我会在屏幕上收到错误消息。

抱歉我的英文!

1 个答案:

答案 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