使用流程构建器Java

时间:2015-07-04 22:48:14

标签: java python bash processbuilder

我需要一些帮助。 我试图从目录(/ Users / adibangun / Downloads / ManTIME /)运行一个名为mantime.py的python脚本。我试图谷歌它,并找到了几种方法来做到这一点。然而,我仍然得到2作为退出值,我期望它为0(正常终止)。这是我的代码:

public int performedManTime() throws IOException, InterruptedException{
ProcessBuilder pb = new ProcessBuilder("/usr/bin/python","/Users/adibangun/Downloads/ManTIME/mantime.py","-ppp","test",inputDir.getAbsolutePath(),"i2b2");
        Map<String,String>env = pb.environment();
        env.put("MANTIME_CRF_TRAIN", "/usr/local/Cellar/crf++/0.58/bin/crf_learn");
        env.put("MANTIME_CRF_TEST", "/usr/local/Cellar/crf++/0.58/bin/crf_test");
        env.put("MANTIME_CORENLP_FOLDER","/Users/adibangun/Downloads/ManTIME/externals/stanford-corenlp-full-2014-08-27");
        Process process = pb.start();
        process.waitFor();
        System.out.println("Exit Value: "+process.exitValue());
        return process.exitValue();
    }
-ppp, test, input.dir and i2b2 are the arguments for the mantime.py

我试图设置环境,如上所示。有谁知道有什么问题?任何评论或建议将非常感激。谢谢

编辑:我怀疑因为python在我的工具(/ usr / local / python)的不同目录下。我把代码放在后面,不知怎的,它可以工作。

ProcessBuilder("/usr/bin/python","/Users/adibangun/Downloads/ManTIME/mantime.py","-ppp","test",inputDir.getAbsolutePath(),"i2b2");
pb.directory(/myToolsDir)

1 个答案:

答案 0 :(得分:0)

我怀疑因为python在我的工具(/ usr / local / python)的不同目录下。我把代码放在后面,不知何故它的工作原理。谢谢你们

In [229]: parse_aYbM('0Yfoo')
Out[229]: 0.0