将 Python 集成到 Java - 我们可以直接调用 .py 文件吗?

Integrating Python into Java - can we call .py files directly?

我想了解 Jython。我有一些用 Python 编写的算法,我想将它们集成到 Java 中。 Jython 文档对我来说理解起来非常复杂。我能从他们那里得到的是,我可以 运行 来自 Java 的单个 Python 语句,方法是像这样嵌入它们:

interp = new PythonInterpreter();
        interp.exec("import sys");
        interp.exec("print sys");

但我不能那样嵌入我的巨型算法。我需要 运行 py 脚本。有什么办法吗?我可以得到一个 hello world 示例,其中 print("hello") 语句写在 py 脚本文件中,输出显示在 Java 控制台上吗?

Jython 是更好的选择

否则您可以使用命令提示符从 java 运行 python 程序并将输出收集回 java

例如:

 ProcessBuilder builder = new ProcessBuilder(
                "cmd.exe", "/c", "C:\Python27\python.exe C:\Users\Bens\Desktop\test.py");
        builder.redirectErrorStream(true);
        Process p = builder.start();
        BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
        String line;
        while (true) {
            line = r.readLine();
            if (line == null) {
                break;
            }
            System.out.println(line);
        }
    } catch (IOException ex) {
        Logger.getLogger(TCPServer.class.getName()).log(Level.SEVERE, null, ex);
    }