您好,欢迎访问一九零五行业门户网

详解java调用python的用法

python视频教程栏目介绍java调用python的用法
相关免费学习推荐:python视频教程
java调用python的几种用法如下:在java类中直接执行python语句在java类中直接调用本地python脚本使用runtime.getruntime()执行python脚本文件(推荐)调用python脚本中的函数准备工作:创建maven工程,结构如下:
到官网https://www.jython.org/download.html下载jython的jar包或者在maven的pom.xml文件中加入如下代码:
<dependency> <groupid>org.python</groupid> <artifactid>jython-standalone</artifactid> <version>2.7.0</version></dependency>
1.在java类中直接执行python语句创建javarunpython.java类:
package com.test;import org.python.util.pythoninterpreter;public class javarunpython { public static void main(string[] args) { pythoninterpreter interpreter = new pythoninterpreter(); interpreter.exec("a='hello world'; "); interpreter.exec("print a;"); }}
输出结果如下:
出现的console: failed to install '': java.nio.charset.unsupportedcharsetexception: cp0.并不是错误,而是兼容所导致,解决方法如下:
2.在java中直接调用python脚本在本地的d盘创建一个python脚本,文件名字为javapythonfile.py,文件内容如下:
a = 1b = 2print (a + b)
创建javapythonfile.java类,内容如下:
package com.test;import org.python.util.pythoninterpreter;public class javapythonfile { public static void main(string[] args) { pythoninterpreter interpreter = new pythoninterpreter(); interpreter.execfile("d:\\javapythonfile.py"); }}
输出结果如下:
3.使用runtime.getruntime()执行python脚本文件,推荐使用在本地的d盘创建一个python脚本,文件名字为runtime.py,文件内容如下:
print('runtimedemo')
创建runtimefunction.java类,内容如下:
package com.test;import java.io.bufferedreader;import java.io.ioexception;import java.io.inputstreamreader;public class runtimefunction { public static void main(string[] args) { process proc; try { proc = runtime.getruntime().exec("python d:\\runtime.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(); } }}
运行结果如下:
4.调用python脚本中的函数在本地的d盘创建一个python脚本,文件名字为add.py,文件内容如下:
def add(a,b): return a + b
创建function.java类,内容如下:
package com.test;import org.python.core.pyfunction;import org.python.core.pyinteger;import org.python.core.pyobject;import org.python.util.pythoninterpreter;public class function { public static void main(string[] args) { pythoninterpreter interpreter = new pythoninterpreter(); interpreter.execfile("d:\\add.py"); // 第一个参数为期望获得的函数(变量)的名字,第二个参数为期望返回的对象类型 pyfunction pyfunction = interpreter.get("add", pyfunction.class); int a = 5, b = 10; //调用函数,如果函数需要参数,在java中必须先将参数转化为对应的“python类型” pyobject pyobj = pyfunction.__call__(new pyinteger(a), new pyinteger(b)); system.out.println("the anwser is: " + pyobj); }}
运行结果如下:
到此这篇关于详解java调用python的几种用法(看这篇就够了)的文章就介绍到这了。
相关免费学习推荐:php编程(视频)
以上就是详解java调用python的用法的详细内容。
其它类似信息

推荐信息