import org.python.util.PythonInterpreter;
public class JythonTest {
public static void main(String[] args) {
PythonInterpreter interp = new PythonInterpreter();
interp.exec("if 2 > 1:");
interp.exec(" print('in if statement!'");
}
}
我需要能够从Java程序执行Python代码,因此决定尝试Jython,但我不熟悉它。我尝试执行上面的代码,但收到错误:“线程“ main”中的异常” SyntaxError :(“输入不匹配”,预计为INDENT”,(“ 1、9,'if 2> 1:\ n')) ”。有什么想法意味着什么,或者如何使用PythonInterpreter执行if语句?
最佳答案
必须将条件词作为单个字符串输入,并且您需要附加括号:
import org.python.util.PythonInterpreter;
public class JythonTest {
public static void main(String[] args) {
PythonInterpreter interp = new PythonInterpreter();
interp.exec("if 2 > 1: print 'in if statement!'");
}
}