如何从Java运行python脚本而不将脚本存储在.py文件中?

时间:2019-07-02 09:52:12

标签: java python

我想执行一个作为Web请求获得的python脚本,执行该脚本并将输出作为响应发送。

到目前为止,我已经将python脚本写入.py文件,并使用ProcessBuilder执行了该脚本。

问题是,一旦执行了脚本,就无法在服务器中存储脚本。因此,执行完成后,我将删除文件。

现在,我认为这是一种不好的方法,并且希望尽量减少写和删除操作。

我尝试使用jpserve,但无法正常工作。 (将硒测试用例作为jpserve的输入时,它不处理脚本,但仍发送成功消息。)另外,我对使用jython也不感兴趣。

有没有一种方法可以运行python脚本而不将其存储在.py文件中?

2 个答案:

答案 0 :(得分:2)

您也可以像这样运行脚本:

String script = "your script from server";
ProcessBuilder pb = new ProcessBuilder("python3", "-c", script);
pb.start();

在shell中,python -c允许您运行在shell中编写的脚本。

答案 1 :(得分:0)

Jython:适用于Java平台的Python-http://www.jython.org/index.html

还,这不是很不安全吗?