我的python文件的代码为:

class myPythonClass():
def abc(self):
    print "calling abc"
    tmpb = {}
    tmpb = {'status' : 'SUCCESS'}
    return tmpb


我的java代码是:

 PythonInterpreter interpreter = new PythonInterpreter();
             interpreter.execfile("/home/Desktop/abc.py");
             interpreter.set("myvariable", file1);
             PyObject answer = interpreter.eval("myPythonClass().abc(myvariable)");
             System.out.println(answer.toString());


在我的python文件中,如果我不给类名加上括号,那么我的java代码将执行python文件。
但是,如果我的python文件以class myPythonClass():开头,则无法正常工作。
有人可以帮我吗?

最佳答案

尝试识别:

class myPythonClass():
    def abc(self):
        print "calling abc"
        tmpb = {}
        tmpb = {'status' : 'SUCCESS'}
        return tmpb


似乎它没有缩进,因此它不会成为class声明的一部分,Python不喜欢这样。
但是我对Java一无所知...

另外,尝试以注释(#comment)开头,看看是否可行。

PS:对不起,如果我不清楚或不确定,我只是无法以自己的声誉发表评论。

10-06 13:49