Skip to main content
 首页 » 编程设计

python之检查 subprocess.getoutput 命令是否执行成功

2025年05月04日20over140

我有一个 java 程序,我必须从 python 运行,获取输出并将结果存储在 3 个变量中(如果它按预期工作,应该打印 3 个值,每个值在不同的行上)。

这是我正在使用的代码:

stdout1 = subprocess.getoutput("java -jar test.jar" + " -r " + path1) 
x, y, z = stdout1.splitlines()[:] 

如果 test.jar 程序没有找到 path1,它将输出一条消息来检查路径。

有没有办法检查程序是否正确执行,然后才存储输出?

x, y, z = stdout1.splitlines()[:] 

请您参考如下方法:

你应该使用

import subprocess 
 
try: 
    stdout1 = subprocess.check_output("java -jar test.jar" + " -r " + path1, shell=True) 
except subprocess.CalledProcessError as e: 
    # handle error 

https://docs.python.org/2/library/subprocess.html#subprocess.check_output