我编写了一个由五个 .py 脚本文件组成的 Python 程序。 我想从 Java 应用程序中执行这些 python 脚本的主要部分。
我有哪些选择?使用 PythonInterpreter 不起作用,例如 datetime
模块无法从 Jython 加载(并且我不希望用户确定他的 Python 路径以使这些依赖项起作用)。
我使用 Jython 的 compileall 将整个文件夹编译为 .class 文件。我能否以某种方式嵌入这些 .class 文件以从我的 Java 应用程序中执行主文件,或者我应该如何进行?
最佳答案
看看 java 中的 ProcessBuilder 类:https://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html .
java 构造函数中使用的命令应该与您在命令行中键入的命令相同。例如:
Process p = new ProcessBuilder("python", "myScript.py", "firstargument").start();
(进程构建器与 python subprocess
模块做同样的事情)。
看看running scripts through processbuilder
注意至于问题的 Jython 部分,如果您访问 jython 网站(查看其网站 www.jython.org 的常见问题解答部分)。检查条目“使用来自 java 的 jython”。
关于java - 使用 Jython 在 Java 中运行 Python 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35712182/