我试图从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 五 并没有创造任何东西......