Java使用Jpython调用Python
2017-08-11 01:13
453 查看
直接执行python语句 ,将语句以String 的形式传递给python解释器
import org.python.util.PythonInterpreter; /** * Created by Mark on 2017/8/11. */ public class H { public static void main(String[] args) { PythonInterpreter pythonInterpreter = new PythonInterpreter(); pythonInterpreter.exec("print('Hello Java! I am Python ,Are you OK?')"); } }
C:\Utility\Java\jdk1.8.0_91\bin\java -Didea.launcher.port=7532 “-Didea.launcher.bin.path=C:\Utility\IDE\IDEA\IntelliJ IDEA 2016.2.3\bin” -Dfile.encoding=UTF-8 -classpath “C:\Utility\Java\jdk1.8.0_91\jre\lib\charsets.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\deploy.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\ext\access-bridge-32.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\ext\cldrdata.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\ext\dnsns.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\ext\jaccess.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\ext\jfxrt.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\ext\localedata.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\ext\nashorn.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\ext\sunec.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\ext\sunjce_provider.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\ext\sunmscapi.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\ext\sunpkcs11.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\ext\zipfs.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\javaws.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\jce.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\jfr.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\jfxswt.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\jsse.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\management-agent.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\plugin.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\resources.jar;C:\Utility\Java\jdk1.8.0_91\jre\lib\rt.jar;D:\IdeaProjects\tide\out\production\tide;D:\IdeaProjects\tide\lib\jython-standalone-2.7.0.jar;C:\Utility\IDE\IDEA\IntelliJ IDEA 2016.2.3\lib\idea_rt.jar” com.intellij.rt.execution.application.AppMain H
Hello Java! I am Python ,Are you OK?
Process finished with exit code 0
将Python脚本文件路径以String形式传递给Python解释器,也可以传输入流对象
import org.python.core.PyFloat; import org.python.core.PyFunction; import org.python.core.PyInteger; import org.python.core.PyObject; import org.python.util.PythonInterpreter; /** * Created by Mark on 2017/8/11. */ public class H { public static void main(String[] args) { PythonInterpreter pythonInterpreter = new PythonInterpreter(); pythonInterpreter.exec("print('Hello Java! I am Python ,Are you OK?')"); pythonInterpreter.execfile("D:\\img\\add.py"); PyFunction add_func = pythonInterpreter.get("add_func", PyFunction.class); int i=10; float b=2.5f; PyObject pyObject = add_func.__call__(new PyInteger(i), new PyFloat(b)); System.out.println(i+ " + "+b+" = "+pyObject.toString()); } }
Hello Java! I am Python ,Are you OK?
10 + 2.5 = 12.5
可以传参数
相关文章推荐
- jpython的使用(Java调用python脚本)
- java 调用 python(使用jpython)
- [zz]使用thrift做c++,java和python的相互调用
- java调用python方法的库jython介绍及使用实例
- python调用Java-JPype使用介绍(一)(转)
- 使用Thrift搭建跨语言调用服务Java和Python实例
- 使用Pyjnius 从python调用自定义Java方法
- [zz]使用thrift做c++,java和python的相互调用
- python调用Java-JPype使用介绍
- python调用Java代码并执行--------jpype使用篇
- 使用java调用python代码
- [转]python调用Java-JPype使用介绍
- 使用Runtime.getRuntime().exec()在java中调用python脚本
- thrift使用:java作为client端调用python服务端
- 使用Thrift0.9.1实现跨语言调用Golang、Php、Python、Java
- 使用JPype实现Python调用JAVA程序
- python调用Java-JPype使用介绍(一)(转)
- 使用Jpython调用跑一python
- 使用thrift做c++,java和python的相互调用
- 使用Pyjnius 从python调用自定义Java方法