gpt4 book ai didi

java - 以最有效的方式从 Java 中重复调用 python

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:08:40 26 4
gpt4 key购买 nike

我有几个 python 脚本(例如 a.pyb.py)在顶部共享相同的开销,例如:

import matplotlib.pylab as plt
#and some Oracle database connection and reading.

然后我有一个 java 脚本,用户运行时分别调用这几个 python 脚本:

Process p = Runtime.getRuntime().exec("python a.py");
p.waitFor();
...
p = Runtime.getRuntime().exec("python b.py");
p.waitFor();

由于每次 python 调用期间的 java 运行时和 python 导入开销,我遭受了重复的开销。我想知道是否有一种方法在第一次 python 调用期间只涉及一次开销(可能通过传递一些 python 处理程序/状态?)我也对第三方工具(例如 Jython)持开放态度。

最佳答案

不确定这是否会加速您的程序,但一种选择是使用 Jython 启动 Python 解释器一次,然后将其重新用于多个脚本。您只需要添加对 Jython JAR 的依赖(在 http://www.jython.org/downloads.html 下载或使用 Maven/Gradle/等)

import org.python.util.PythonInterpreter;
public class JythonTest {
public static void main(String[] args) {
PythonInterpreter pythonInterpreter = new PythonInterpreter();
pythonInterpreter.execfile("a.py");
pythonInterpreter.execfile("b.py");
}
}

引用:http://tssblog.blogs.techtarget.com/2007/11/21/using-python-within-java/

关于java - 以最有效的方式从 Java 中重复调用 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34867409/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com