记录 java调用python @Test的坑
文章目录
前言
由于java项目中需要使用到python生成图表,在网上苦苦搜寻方法,copy过来之后@test死活出不来结果
提示:以下是本篇文章正文内容,下面案例可供参考
一、调用需求
需要使用numpy库,生成图表,自定义文件名称,保存到指定位置,供前台调用。
二、使用步骤
1.python脚本
代码如下(示例):
import numpy as np
import matplotlib.pyplot as plt
x = [5,8,10]
y = [12,16,6]
x2 = [6,9,11]
y2 = [6,15,7]
plt.bar(x,y,align='center')
plt.bar(x2,y2,color = 'g',align='center')
plt.title('Bar graph')
plt.ylabel('Y axis')
plt.savefig("C:\\Users\\Administrator\\1.png")
plt.show()
2.java代码
代码如下(示例):
@Test
@RequestMapping(params = "method=python")
public void python() throws IOException, InterruptedException {
Process proc;
try {
proc = Runtime.getRuntime().exec("python " +"C:\\Users\\Administrator\\test.py");
//用输入输出流来截取结果
BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
proc.waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
@Test这个坑货!!!!不止一次浪费时间在上面了。test的时候死活不出来,直接用链接访问反而成功了。
3.访问地址(无视报错):
**
4.弹出图表:
5.生成的图片:
总结
爷再也不用test了,至少在我搞懂之前。。。
萌新萌新萌新,萌萌萌萌萌萌新。*