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行有语法错误,检查一下标点符号啥的,格式啥的,应该很明显的问题