java - 使用 Jython 在 Java 中运行 Python 程序

标签 java python jython

我编写了一个由五个 .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/

相关文章:

docker 镜像上的 Python ScriptEngine null

python - JES中如何将图片的一部分做成灰度?

python - 如何在 jython 上安装 django (Windows 7)

java - ServiceMix 找不到 OSGI 数据源

java - B+树的完整实现

python - 直接从命令行在 IDLE 窗口中运行文件

python - 想知道是否有更好的方法来循环字典列表并将键与另一个字典键进行比较

java - 出队测试

java - 推荐一个 Java/Android 游戏库——卡、板等?

python - Django 导入错误