-2

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

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

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

4

1 回答 1

0

jep项目使用 JNI 在 java 进程中嵌入一个 python 解释器。Jep 类的 eval 方法专门用于允许您逐行运行 python。

于 2018-04-11T22:53:49.300 回答