使用Java代码中的参数运行外部python文件

时间:2015-12-29 21:59:42

标签: java python shell processbuilder

我的Java文件中的另一个文件夹中有一个python脚本。我需要用参数运行它。

我正在阅读ProcessBuilder,但无法弄清楚如何使用它。参数将由Java变量提供。基本上,我想用Java代码执行此操作:

python /path/to/script.py -s java_var1_here -r java_var2_here -d(这有五个参数传递给脚本。其中三个是标志)

我正在读这个:https://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html,但正如我所说,这对我没有多大意义。

到目前为止我只有这个:ProcessBuilder pb = new ProcessBuilder("python", "/path/to/script.py");我尝试在script.py之后添加参数但是没有成功。

任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:0)

按照以下方针行事: runtime = Runtime.getRuntime(); p = runtime.exec(yourArray); p.waitFor();
您需要通过.getRuntime()获得的Runtime实例(只有一个此类实例)。 .exec()返回一个Process实例,调用.waitFor()让当前线程等到子进程p完成(如果以下代码需要后续处理结果)                      - schwobaseggl