如何从“可执行”jar调用脚本Python?

时间:2015-07-31 15:49:18

标签: java python-2.7 interpreter

我正在尝试创建一个Java应用程序,通过单击按钮应该调用脚本python。在按钮的方法中,我设置了PythonInterpreter和一些我需要作为参数传递给脚本的变量:

PythonInterpreter.initialize(System.getProperties(), System.getProperties(), new String[0]);
        PythonInterpreter interp = new PythonInterpreter();

        // Insert arguments as input for the script
        interp.set("path", path);
        interp.set("logcatName", dev1+"_Video"+i+".txt");
        interp.set("logcatSecondDevice", dev2+"_Video"+i+".txt");
        interp.set("descriptionPath", descriptionPath);

        interp.execfile("C:\\adp\\cutVideo.py");

以下是通过传递上述参数来调用脚本中的函数的指令:

if __name__ == '__main__':
  cut_video(path, logcatName, logcatSecondDevice, descriptionPath)

如果我使用NetBeans运行它,那么一切都很完美但是如果我尝试运行我应该制作的jar文件,它就不再起作用了。 还有另一种方法可以让它发挥作用吗?

1 个答案:

答案 0 :(得分:0)

我通过将脚本放在另一个文件夹上并使用以下指令调用它来解决:

ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "start", "python", "C:\\adp\\cutVideo.py", path, descriptionPath);
Process move = pb.start();

感谢所有人的兴趣!