使用runtime.getruntime.exec从Java调用python脚本
我有一个java web开发项目,希望调用一个python脚本在后台运行,然后继续使用java使用runtime.getruntime.exec从Java调用python脚本,java,python,servlets,Java,Python,Servlets,我有一个java web开发项目,希望调用一个python脚本在后台运行,然后继续使用java String command = "cmd.exe /c cd "C:\\path\\to\\py\\" && python script.py"; Process p = Runtime.getRuntime().exec(command); 调用此函数时似乎什么也没有发生,但当脚本访问其目录中的文件时,我需要首先更改目录 谢谢你的帮助 编辑: 正确答案是添加开始,这是我编辑的代码
String command = "cmd.exe /c cd "C:\\path\\to\\py\\" && python script.py";
Process p = Runtime.getRuntime().exec(command);
调用此函数时似乎什么也没有发生,但当脚本访问其目录中的文件时,我需要首先更改目录
谢谢你的帮助
编辑:
正确答案是添加开始,这是我编辑的代码
String command = "cmd.exe /c cd "C:\\path\\to\\py\\" && start python script.py";
Process p = Runtime.getRuntime().exec(command);
您是否将环境配置为支持“可执行”python脚本?
如果不是,您应该这样称呼它:
String command = "cmd.exe /c start python path\to\script\script.py";
Process p = Runtime.getRuntime().exec(command);
start
命令运行相应的可执行文件(在本例中为python解释器)及其提供的参数(在本例中为脚本本身) 您可以从Java端设置进程的工作目录,而不是使用cmd
来更改目录。比如说
ProcessBuilder pb = new ProcessBuilder("python", "script.py");
pb.directory(new File("C:\\path\\to\\py"));
Process p = pb.start();
python脚本可以在jython下运行吗?如果是这样,从java调用它并在线程中运行