java调用python方法总结
MarIwn
9年前
来自: http://blog.csdn.net/xingjiarong/article/details/49424253
http://download.csdn.net/detail/xingjiarong/9429266 下载jython包,把其中的jython.jar添加到工程目录
一、在java类中直接执行python语句
import org.python.util.PythonInterpreter; public class FirstJavaScript { public static void main(String args[]) { PythonInterpreter interpreter = new PythonInterpreter(); interpreter.exec("days=('mod','Tue','Wed','Thu','Fri','Sat','Sun'); "); interpreter.exec("print days[1];"); }// main }
调用的结果是Tue,在控制台显示出来,这是直接进行调用的。
二、在java中调用本机python脚本中的函数
首先建立一个python脚本,名字为:my_utils.py
def adder(a, b): return a + b
然后建立一个java类,用来测试,
java类代码 FirstJavaScript:
import org.python.core.PyFunction; import org.python.core.PyInteger; import org.python.core.PyObject; import org.python.util.PythonInterpreter; public class FirstJavaScript { public static void main(String args[]) { PythonInterpreter interpreter = new PythonInterpreter(); interpreter.execfile("C:\\Python27\\programs\\my_utils.py"); PyFunction func = (PyFunction) interpreter.get("adder", PyFunction.class); int a = 2010, b = 2; PyObject pyobj = func.__call__(new PyInteger(a), new PyInteger(b)); System.out.println("anwser = " + pyobj.toString()); }// main }
得到的结果是:anwser = 2012
三、使用java直接执行python脚本
建立脚本inputpy
#open files print 'hello' number=[3,5,2,0,6] print number number.sort() print number number.append(0) print number print number.count(0) print number.index(5)
建立java类,调用这个脚本:
import org.python.util.PythonInterpreter; public class FirstJavaScript { public static void main(String args[]) { PythonInterpreter interpreter = new PythonInterpreter(); interpreter.execfile("C:\\Python27\\programs\\input.py"); }// main }
得到的结果是:view plain
hello [3, 5, 2, 0, 6] [0, 2, 3, 5, 6] [0, 2, 3, 5, 6, 0] 2 3