从java执行python

时间:2014-05-10 23:21:52

标签: java python cmd

我知道有很多类似的问题,但都没有解决我的问题......

所以,我想使用ProcessBuilder从java执行python脚本......

这是我写的一个方法,它不起作用:

public void stemPosts(String scriptPath, String inputFile, String outputFile)
        throws IOException {
    ProcessBuilder process = new ProcessBuilder("python", scriptPath,
            inputFile, outputFile);
    process.start();
}

这是方法调用(<user_path>仅用于隐藏个人信息):

dataManager.stemPosts(
            "D:/<user_path>/stemmer/Croatian_stemmer.py",
            "D:/<user_path>/stemmer/posts.txt",
            "D:/<user_path>/stemmer/stemmedPosts.txt");

第一个参数是脚本,第二个参数是第一个脚本参数(inputFile),第三个参数是第二个脚本参数(outputFile)......

cmd中的执行很简单:python Croatian_stemmer.py posts.txt stemmedPosts.txt并且有效......

以上代码仅创建输出文件,但不会用数据填充...

我尝试更改文件分隔符但没有帮助......

1 个答案:

答案 0 :(得分:1)

对于初学者,我会通过重定向您描述here的ProcessBuilder输出来查看您从执行脚本中看到的输出。

我的预感是它与PYTHONPATH或脚本中的错误有关但是没有看到脚本或执行的输出它是不可能知道的。