有没有办法从Java运行python中的连续命令?

时间:2018-03-20 01:39:32

标签: java java-scripting-engine

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

所以,让我们说我的Java程序返回"导入大熊猫。"然后它将在python中运行该行。然后用户再次输入并返回Java" pandas.read.csv(' somefile.csv')"。然后根据我之前的调用"导入pandas",我将在Python脚本中运行下一行代码。我想连续这样做,因为我的语义解析器根据用户输入在Python中生成一行代码。

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

1 个答案:

答案 0 :(得分:-2)

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