从java调用返回类型为的python方法
我试图从Java类调用Python方法。方法名为toEvaluateExpression,位于evaluator.py中。此方法返回布尔值并接受字符串作为输入参数。此外,此方法toEvaluateExpression不是类方法。我在网上找到了这个代码 但是,该代码与我的代码有两个主要区别: run是一个类方法,而ToeValueExpression不是 run没有参数,ToeValueExpression将表达式作为其输入 有人能推荐一些类似的代码来解决我的问题吗从java调用返回类型为的python方法,java,python,call,Java,Python,Call,我试图从Java类调用Python方法。方法名为toEvaluateExpression,位于evaluator.py中。此方法返回布尔值并接受字符串作为输入参数。此外,此方法toEvaluateExpression不是类方法。我在网上找到了这个代码 但是,该代码与我的代码有两个主要区别: run是一个类方法,而ToeValueExpression不是 run没有参数,ToeValueExpression将表达式作为其输入 有人能推荐一些类似的代码来解决我的问题吗 public class In
public class InterpreterExample{
PythonInterpreter interpreter = null;
public InterpreterExample(){
PythonInterpreter.initialize(System.getProperties(),
System.getProperties(), new String[0]);
this.interpreter = new PythonInterpreter();
}
void execfile( final String fileName ){
this.interpreter.execfile(fileName);
}
PyInstance createClass( final String className, final String opts ){
return (PyInstance) this.interpreter.eval(className + "(" + opts + ")");
}
public static void main( String gargs[] ){
InterpreterExample ie = new InterpreterExample();
ie.execfile("hello.py");
PyInstance hello = ie.createClass("Hello", "None");
hello.invoke("run");
}
}
Python代码:
class Hello:
__gui = None
def __init__(self, gui):
self.__gui = gui
def run(self):
print 'Hello world!'
这是toEvaluate的代码,它调用解析器并接收后缀表达式结果
def toEvaluate(expression):
a = []
global input
input = expression+"$"
infixExp()
for i in infixexp:
a.append(i)
exp = parser.infixtopostfix(a)
return parser.evalExp(exp)
然而这篇评论的其余部分都应该是问题的一部分。这不应该是评论。请更新问题以说明此代码的问题所在,并删除注释。请非常详细和具体。好的,我有点明白你的问题,但在我知道发生了什么之前我需要toEvaluateExpression的代码。我刚刚发布了toEvaluateExpression。此方法调用解析器并接收后缀表达式结果。我还需要更多详细信息。例如,为什么有一个全局语句&infixExp,它们是做什么的。另外,为什么要将输入设置为表达式+$,为什么要在for循环的最后一个元素上调用parser.evalExp?细节,细节,细节。我们需要细节。基本上,就目前的情况而言,我认为没有理由让它成为基于类的方法。