一尘不染

在Java中调用Python?

java python

我想知道是否可以使用jython从Java代码调用python函数,还是仅用于从python调用Java代码?


阅读 493

收藏
2020-02-19

共1个答案

一尘不染

Jython:适用于Java平台的Python- http ://www.jython.org/index.html

你可以使用Jython从Java代码轻松调用python函数。只要你的python代码本身在jython下运行,即不使用某些不受支持的c扩展名。

如果这对你有用,那肯定是你可以获得的最简单的解决方案。否则,你可以使用org.python.util.PythonInterpreter新的Java6解释器支持。

举个简单的例子-但我希望它可以工作:(为简便起见,不进行错误检查)

PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("import sys\nsys.path.append('pathToModules if they are not there by default')\nimport yourModule");
// execute a function that takes a string and returns a string
PyObject someFunc = interpreter.get("funcName");
PyObject result = someFunc.__call__(new PyString("Test!"));
String realResult = (String) result.__tojava__(String.class);
2020-02-19