【问题标题】:Is there a way to run consecutive commands in python from Java? [duplicate]有没有办法从 Java 中运行 python 中的连续命令? [复制]
【发布时间】:2018-03-20 01:39:32
【问题描述】:

我想做的是,我有一个用Java编写的语义解析器,这个语义解析器将输出Python(字符串)的单行代码。我想连续做这个。我搜索的方法是 runtime.exec 或 Jython,我可以在其中运行整个脚本。但是我想逐行编写代码并在每一行之后查看结果。

假设我的 Java 程序返回了“import pandas”。然后它将在 python 中运行该行。然后用户进行另一个输入,Java 返回“pandas.read.csv('somefile.csv')”。然后基于我之前的调用“import pandas”,我将在 Python 脚本中运行下一行代码。我想连续执行此操作,因为我的语义解析器会根据用户输入在 Python 中生成单行代码。

理想情况下,我会让 Java 程序运行 Python 解释器并一一提供每个代码并查看结果。但我不完全确定这是否是一种可行的方法。明显的解决方案是在 Python 脚本中逐行添加并运行整个脚本。但这会浪费很多时间。所以如果有什么好的方法,请与我分享。谢谢。

【问题讨论】:

标签: java java-scripting-engine


【解决方案1】:

jep project 使用 JNI 在 java 进程中嵌入 python 解释器。 Jep 类的 eval 方法是专门用来让你逐行运行 python 的。

【讨论】:

    猜你喜欢
    • 2019-11-07
    • 2021-08-01
    • 1970-01-01
    • 2016-05-07
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 2022-10-21
    • 2021-09-10
    相关资源
    最近更新 更多