java执行python脚本,传递参数拿到返回值
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命令,别搞花里胡哨的