【发布时间】:2015-03-28 01:35:52
【问题描述】:
import java.io.*;
class RunTest {
public static void main(String a[]) {
try {
String prg = "import sys\nprint int(sys.argv[1])+int(sys.argv[2])\n";
BufferedWriter out = new BufferedWriter(new FileWriter("test1.py"));
out.write(prg);
int number1 = 1;
int number2 = 2;
ProcessBuilder pb = new ProcessBuilder("python","test1.py",""+number1,""+number2);
Process p = pb.start();
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
int ret = new Integer(in.readLine()).intValue();
System.out.println("value is : "+ret);
} catch(Exception e) {
e.printStackTrace();
}
}
}
当我运行这段代码时(我使用的是 Eclipse),我得到了堆栈跟踪:
java.io.IOException: Cannot run program "python": CreateProcess error=2, 系统找不到指定的文件 在 java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) 在 RunTest.main(RunTest.java:11) 原因:java.io.IOException: CreateProcess error=2, 系统找不到指定的文件 在 java.lang.ProcessImpl.create(本机方法) 在 java.lang.ProcessImpl.(ProcessImpl.java:386) 在 java.lang.ProcessImpl.start(ProcessImpl.java:137) 在 java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) ... 1 更多
有人知道为什么以及我能做什么吗?
谢谢!
【问题讨论】:
-
路径中有
python命令吗?你可以从命令行运行它吗? -
Python 在路径中,我刚刚检查过,它确实可以从命令行运行,但在 Eclipse 中仍然不行...
标签: java python file processbuilder