从java调用python方法

时间:2012-12-13 10:16:42

标签: java python jython

我尝试从java调用python方法,并做了一个非常简单的例子。但我有一个例外:

我的py文件(test.py)

def tmp():
    return "test!!!!!"

我的java代码

PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("import test");
PyObject someFunc = interpreter.get("tmp");
System.out.println(someFunc);
PyObject result = someFunc.__call__();
String realResult = (String) result.__tojava__(String.class);
System.out.println(realResult);

我有这个结果,行上的异常* PyObject result = someFunc .__ call __(); *,因为someFunc为null

null 
Exception in thread "main" java.lang.NullPointerException   at
  com.testing.Test.test(Test.java:936)  at
  com.testing.Test.main(Test.java:96)

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

interpreter.exec("from test import tmp");
PyObject someFunc = interpreter.get("tmp");