本文为大家分享了java调用python方法,供大家参考,具体内容如下
一、在java类中直接执行python语句
1
2
3
4
5
6
7
8
9
10
11
|
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
1
2
|
def adder(a, b): return a + b |
然后建立一个java类,用来测试,
java类代码 FirstJavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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
1
2
3
4
5
6
7
8
9
10
11
|
#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类,调用这个脚本:
1
2
3
4
5
6
7
8
9
|
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 } |
得到的结果是:
1
2
3
4
5
6
|
hello [ 3 , 5 , 2 , 0 , 6 ] [ 0 , 2 , 3 , 5 , 6 ] [ 0 , 2 , 3 , 5 , 6 , 0 ] 2 3 |
以上就是三种java调用python方法,希望对大家的学习有所帮助。