2012-12-13 95 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");