2012-12-13 91 views
4

我尝试从java调用python方法,并做了一个非常简单的示例。但我有一个例外:从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结果= someFunc例外。 __call __(); *,因为someFunc为空

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

任何想法?

+0

使用'interpreter.get(“test.tmp”);'' – sloth

回答

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