java调用python代码
2020-02-27 20:25 默默不语 阅读(1690) 评论(0) 编辑 收藏 举报最近做项目时需要用Java调用python的文件,本篇博客介绍用java调用python的代码。
一、使用Jpython来实现用java调用python的代码
1.下载JPython的包
我下载的是jython-2.7-b1.jar,下载好后在项目classpath中添加这个jar包。
2.编写简易python代码
import org.python.util.PythonInterpreter;
import java.util.Properties;
/**
*@author chenmeiqi
*@version 2020年2月26日 下午7:08:24
*/
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
PythonInterpreter interpreter = new PythonInterpreter();
// 运行python语句
interpreter.exec("a = \"hello, Jython\"");
interpreter.exec("print a");
}
}
运行结果:
二、使用Runtime.getRuntime()执行脚本文件
Runtime.getRuntime()可以取得当前JVM的运行时环境,这也是在java中唯一一个得到运行时环境的方法。
注:如果执行的Python脚本有引用第三方包的,建议使用此种方式。
代码示例:
import org.python.util.PythonInterpreter; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Properties; /** *@author chenmeiqi *@version 2020年2月26日 下午7:08:24 */ public class test { public static void main(String[] args) throws IOException, InterruptedException { // TODO Auto-generated method stub Process proc = Runtime.getRuntime().exec("D:\\Anaconda3\\envs\\py36\\python.exe D:/spider/ItemCF.py"); BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream())); String line; while ((line = in.readLine()) != null) { System.out.println(line); } in.close(); proc.waitFor(); System.out.println("end"); } }
python脚本代码:
print("使用java调用python代码!")
运行结果: