java - 如何使用 Jython 执行 if 语句

标签 java python jython

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!'");
    }
}

关于java - 如何使用 Jython 执行 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28265094/

相关文章:

python - 使用 Python 实现 ping

python - Python odeint 例程可解联立方程数量的限制

python - 有没有办法用 Python 创建 Eclipse 插件?

java - 安卓导入java.nio.file.Files;无法解决

java - Play Framework 2.x : How do i make a HTTP-GET for an reverse lookup (nominatim OSM)?

java - HashMap 包含多个具有相同值的不同键?

java - 如何从 Java 引发 Jython 异常?

java - 如何将dicom文件转换为jpg转换

python - PyCrypto 生成错误的签名

java - 来自 jython 和 pydev 的 .class 文件