项目用python开发时大量引入了外包,当需要在java中使用该代码时考虑要么转成java语言(太麻烦),要么打包成jar(没找到合适的方法),参考了一些java调用python文件方法,并不适合我目前开发的环境,下面给出idea下直接调用的方法。
一、在idea中添加python添加环境变量
二、测试
python文件(test.py)
from __future__ import print_function
from sklearn import datasets
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
X, y = datasets.make_regression(n_samples=100, n_features=1, n_targets=1, noise=10)
plt.scatter(X, y)
plt.show()
idea中java代码
package com.mkd.stringdemo;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class testDemo {
public static void main(String[] args){
try{
System.out.println("start");
Process pr = Runtime.getRuntime().exec("python d:\\work\\test\\test.py");
BufferedReader in = new BufferedReader(new
InputStreamReader(pr.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
pr.waitFor();
System.out.println("end");
} catch (Exception e){
e.printStackTrace();
}
}
}
三、运行结果
后记:为了开发效率确实这样子很方便,但是为了工程效率还是老老实实改成java吧。
原文链接于:便利贴回收站-idea中通过java程序直接调用python文件