在java应用程序中执行单独的python应用程序
我有一个小型java项目,它可以执行包括数据库更新在内的多项活动,我还有一个单独的python(.py)应用程序,可以在数据挖掘过程之后更新同一个数据库。在我的Java应用程序中,我需要打开(执行)我的python应用程序来更新同一个数据库。我尝试了几种方法,但代码不起作用。下面我粘贴了初始代码,没有调用。py文件
if (getDB("BP") != 0.0 && getDB("BT") != 0.0 &&
getDB("SO2") != 0.0 && getDB("HR") != 0.0) {
if(analyzeData(inputLine)) {
setDB(inputLine);
//<python(.py) file should execute independently in this section, after setDB(inputLine)>
} }
else {
setNormalBio(inputLine);
}
# 1 楼答案
我没有看到任何与从java代码生成新进程相关的内容。你真的调查过这个话题吗?如果不是:不要期望下面的代码是一流的解决方案。也许可以更深入地研究一下http://docs.oracle.com/javase/6/docs/api/java/lang/ProcessBuilder.html和python文档,正如我记得的,当我在PHP上做这件事时,python代码本身遇到了一些问题
Python(deadparrot.py):
我不确定chdir的电话。有一次我得到了一个项目,在这个项目中,我需要在linux Web服务器环境中使用php调用python(因此称为“posix”),并在python脚本中使用相对路径进行操作。IIRC我在本地windows环境下测试时不需要它
编辑1:我在Windows 7中测试了它。看起来两样都不是。目录(…)或chdir(…)需要从python脚本调用相对路径。IDK关于linux
关于“___”条件。我使用它,因为这样我仍然可以从java应用程序调用脚本(exit(0)在unix术语中返回ok),此外还可以使用另一个python脚本中的voom()函数,如下所示:
爪哇: