本文为大家分享了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方法,希望对大家的学习有所帮助。