python文件生成图片
首先要保证python脚本可以通过给定的参数,然后生成对应的图片.
然后使用java进行调用脚本给定对应图片地址生成图片.
前提工作
如果是本地的话就要注意本地是否有pyhton环境,如果没有的话就需要安装一下,这个方式百度一下都能找到,python下载地址:Welcome to Python.org.
然后就是看对应python脚本中是否有依赖某些包,如果没有的话就需要在本地安装一下.
我这里python脚本使用到的依赖包有:matplotlib 和pandas安装方法如下:
pip install pandas
pip install matplotlib
但是默认的下载可能会 比较 慢,很久都下不下来,如果下载很慢的话可以试一下下面这个安装方式:
如果下载比较慢的话修改下载源
pip --default-timeout=100 install pandas -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip --default-timeout=100 install matplotlib -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
安装方式win和 linux一样,但是前提 是 需要 也有python环境 和 Pip即可.
使用java调用python脚本
java提供了 Runtime.getRuntime().exec(); 方法 调用python脚本,然后使用对应的方法 进行返回 代码,具体的代码实现是这样的:
p = Runtime.getRuntime().exec(cmdPythonStr);
int waitSecond = 0;
while (!p.waitFor(pyWaitIntervalSencond, TimeUnit.SECONDS)){
waitSecond = waitSecond + pyWaitIntervalSencond;
if(waitSecond>=pyTimeoutSencond){
break;
}
}
p.destroy();
jsonFile = new File(jsonfilepath);
jsonFile.delete();
File imageFile = new File(pythonPathImg,imageName);
boolean is = imageFile.isFile();
if(is){
imageFilePath = pythonPathImg + "/" + imageName;
}
其中 cmdPythonStr 是组装好的python调用脚本,直接可以在控制台就可以生成的命令. imageFilePath 是具体生成的图片地址.\
注意
如果没有pyhton环境或者对应的pyhton包,那么如果调用正确但是缺少python的包或者环境,java是不会报错的,只会出现python调用成功后拿到的 值是空的,也不会有任何报错的 信息,这个情况我在linux的 测试 环境上遇到一直找不到问题