介绍
本篇文章给大家分享的是有关在java项目中调用python的方法有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
java调用python的几种用法如下:
- <李>
在java类中直接执行python语句
李> <李>在java类中直接调用本地python脚本
李> <李>使用Runtime.getRuntime()执行python脚本文件(推荐)
李> <李>调用python脚本中的函数
李>准备工作:
创建maven工程,结构如下:
到官网https://www.jython.org/download.html下载Jython的jar包或者在maven的pom.xml文件中加入如下代码:
& lt; dependency> & lt;才能groupId> org.python</groupId> & lt;才能artifactId> jython-standalone</artifactId> & lt;才能version> 2.7.0</version> & lt;/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 (“=& # 39; hello & # 39;;,“); ,,,interpreter.exec (“print ;“); ,,} }
输出结果如下:
出现的控制台:未能安装& # 39;& # 39;:java.nio.charset。UnsupportedCharsetException: cp0。并不是错误的,而是兼容所导致,解决方法如下:
2。在java中直接调用python脚本
在本地的D盘创建一个python脚本,文件名字为javaPythonFile。py,文件内容如下:
a =1 时间=b 2 print (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脚本,文件名字为运行时。py,文件内容如下:
打印(& # 39;RuntimeDemo& # 39;)
创建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 拷贝=,new BufferedReader (new InputStreamReader (proc.getInputStream ())); ,,,,,String line =,空; ,,,,,while ((=line in.readLine ()), !=, null), { ,,,,,,,System.out.println(线); ,,,,,} ,,,,,in.close (); ,,,,,proc.waitFor (); ,,,},catch (IOException e), { ,,,,,e.printStackTrace (); ,,,},catch (InterruptedException e), { ,,,,,e.printStackTrace (); ,,,}, ,,} }
运行结果如下:
4。调用python脚本中的函数
在本地的D盘创建一个python脚本,文件名字为补充。py,文件内容如下: