1:python脚本是在linux环境下
2:java取python print打印在控制台的数据
3:java代码举例
/**
* 调用人像对比python脚本
*/
public int pythonResult(String pathname) {
Process proc;
try {
//需要执行的Linux命令
String shell = "python /home/kaifa/renlian/dist/compare_pics.py --file_directory " + pathname;
log.info("开始调用脚本");
Long startTime = System.currentTimeMillis();
// 代码运行结束时间
proc = Runtime.getRuntime().exec(shell);
Long endTime = System.currentTimeMillis();
//返回执行状态 0 成功 其它值是有问题
int i = proc.waitFor();
// 定义Python脚本的返回值
String result = null;
// 获取CMD的返回流
BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
while ((result = in.readLine()) != null) {
System.out.println(result);
log.info("脚本返回值:" + result);
}
//关闭输入流
in.close();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
return 0;
}
4:最好就是这样直接执行linux命令,别搞花里胡哨的