You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
996 B
26 lines
996 B
import org.python.core.PyDictionary;
|
|
import org.python.core.PyFunction;
|
|
import org.python.core.PyInteger;
|
|
import org.python.core.PyObject;
|
|
import org.python.util.PythonInterpreter;
|
|
|
|
/**
|
|
* @author yanpeng
|
|
* @version 1.0
|
|
* @desc TODO
|
|
* @company 北京中经网软件有限公司
|
|
* @date 2021/7/16 17:43
|
|
*/
|
|
public class JavaRunPythonFunc {
|
|
public static void main(String[] args) {
|
|
PythonInterpreter interpreter = new PythonInterpreter();
|
|
interpreter.execfile("F:\\javaPythonFuncFile.py");
|
|
|
|
// 第一个参数为期望获得的函数(变量)的名字,第二个参数为期望返回的对象类型
|
|
PyFunction pyFunction = interpreter.get("add", PyFunction.class);
|
|
int a = 5, b = 10;
|
|
//调用函数,如果函数需要参数,在Java中必须先将参数转化为对应的“Python类型”
|
|
PyObject pyobj = pyFunction.__call__(new PyInteger(a), new PyInteger(b));
|
|
System.out.println("the anwser is: " + pyobj);
|
|
}
|
|
}
|
|
|