在java中调用python方法

1.在java类中直接执行python语句 view plain import javax.script.*; import org.python.util.pythoninterpreter; import java.io.*; import static java.lang.system.*; 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,在控制台显示出来,这是直接进行调用的。 2.在java中调用本机python脚本中的函数: 首先建立一个python脚本,名字为:my_utils.py view plain def adder(a, b): return a + b 然后建立一个java类,用来测试, java类代码 firstjavascript: view plain import javax.script.*; import org.python.core.pyfunction; import org.python.core.pyinteger; import org.python.core.pyobject; import org.python.util.pythoninterpreter; import java.io.*; import static java.lang.system.*; 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);//adder python函数名 int a = 2010, b = 2 ; pyobject pyobj = func.__call__(new pyinteger(a), new pyinteger(b));//传值,a b system.out.println(“anwser = ” + pyobj.tostring()); }//main } 得到的结果是:anwser = 2012 3.使用java直接执行python脚本, 建立脚本inputpy view plain #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类,调用这个脚本: view plain import javax.script.*; import org.python.core.pyfunction; import org.python.core.pyinteger; import org.python.core.pyobject; import org.python.util.pythoninterpreter; import java.io.*; import static java.lang.system.*; 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

Posted in 未分类

发表评论