需要用到需要用到jython.jar
java example:
public static void main(String[] args) {
//定义参数
//设置参数
PythonInterpreter interpreter = new PythonInterpreter();
//执行
interpreter.execfile("E:\\jython.py");
System.out.println("----------run over!----------");
}
python的程序:
#!/bin/env python
import time
import sys
argCount = len(sys.argv)
print('before sleep')
print('after sleep')
for str in sys.argv:
print(str)
方法如下:
package com.lyz.test.jython;
import org.python.util.PythonInterpreter;
/**
* 第一个Jython程序
* @author liuyazhuang
*
*/
public class FirstJythonScript {
public static void main(String args[]) {
interpreter.exec("days=('mod','Tue','Wed','Thu','Fri','Sat','Sun'); ");
interpreter.exec("print days[1];");
可以用Python的扩展来实现.Python本来是C实现的,封装二进制兼容的C++是很容易的.Java的话得通过JNI来实现,就是说在Python扩展里用C调用Java.另外,也可以写一个TCP服务来包装C++/Java的接口,通过网络来调用,这样更通用.
①直接执行Python脚本代码
引用 org.python包
①. PythonInterpreter interpreter = new PythonInterpreter();
这种方式和.net下面调用cmd执行命令的方式类似.如果执行的python脚本有引用第三方包的,建议使用此种方式.使用上面两种方式会报错java ImportError: No module named arcpy.
①. Process proc = Runtime.getRuntime().exec("python D:\\demo.py");
Python - Native 代码 整体思路 先将Python 源代码转换成 C 代码,之后用 GCC 编译 C 代码为二进制模块 so/dll,接着进行一次 Java Native 接口封装,
以上就是土嘎嘎小编为大家整理的java调用python代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!