从Java调用Python - 脚本未正确执行

时间:2014-08-27 09:42:24

标签: java python

我试图从java程序执行python脚本。 我有一个奇怪的问题,虽然脚本被调用但不完整处理。

为了证明这个问题,我已将方案简化为以下内容:

Java代码:

public class CallPython {
public static void main(String[] args) {
    try {
        Process p1 = Runtime.getRuntime().exec("python D://test.py narf");
        int res1 = p1.waitFor();
        System.out.println(res1);

        Process p2 = Runtime.getRuntime().exec("python D://test.py narf2");
        int res2 = p2.waitFor();
        System.out.println(res2);

    } catch (IOException | InterruptedException e) {
        e.printStackTrace();
    }
}

}

Python脚本:

import sys

a = sys.argv[1]
if (a == "narf"):
    sys.exit(10)

file = open('bla.txt', 'w')
file.write("StackOverFlow is AWESOME!!!")
file.close()

sys.exit(5)

从命令行运行脚本(参数不同,然后" narf")会导致创建文件" bla.txt"从eclipse print运行java代码时: 10 五 并没有创造任何东西......

0 个答案:

没有答案