的是用cmd执行一个python脚本,并获得执行结果(包括正常输出和错误信息)

Idea 2019.3.3 +win11 +PyCharm PY-193.7288.30(Java 1.8.0——311),目的是用cmd执行一个python脚本,并获得执行结果(包括正常输出和错误信息),下面是我的代码


```java
            Process ps = Runtime.getRuntime().exec(cmd2);
            BufferedReader in = new BufferedReader(new InputStreamReader(ps.getInputStream(), "UTF-8"));
            String line = null;
            while ((line = in.readLine()) != null) {
               System.out.println(line);
           }
           in.close();
           int result = ps.waitFor();
           System.out.println(result);


Idea上的返回结果是这样(这个1是ps.waitFor的值):
1

Process finished with exit code 0
如果直接用相同的命令在CMD里面执行结果如下
C:\Users\99310>E:\python2.7\python.exe C:\Users\99310\PycharmProjects\untitled\test\1.py
File "C:\Users\99310\PycharmProjects\untitled\test\1.py", line 153

       ^

SyntaxError: invalid syntax

python的153行脚本报错了

153行是什么代码......

你应该使用ps.getErrorStream()来获取错误信息

Process ps = Runtime.getRuntime().exec(cmd2);
BufferedReader in = new BufferedReader(new InputStreamReader(ps.getErrorStream(), "UTF-8"));
String line = null;
while ((line = in.readLine()) != null)
{
    System.out.println(line);
}
in.close();
int result = ps.waitFor();
System.out.println(result);

1.py 中 153行有语法错误,检查一下标点符号啥的,格式啥的,应该很明显的问题