我正在运行一个位于Eclipse项目文件夹中的python脚本,其中包含以下Java代码:
Process p = Runtime.getRuntime().exec("python pythonscript.pyw");
p.waitFor();
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
System.out.println(in.readLine());
我的控制台总是读取null并且我的p.exitValue()是2.但是,在Windows命令提示符下键入以下内容工作正常,我得到正确的输出:
C:\users\user\workspace\project>python pythonscript.pyw
这是否与在Eclipse中指定我的目录有关?
答案 0 :(得分:0)
你可以运行这样的命令:
String scriptDir = "./some dir";
Process p = Runtime.getRuntime().exec("cmd /c \"cd " + scriptDir + " && python pythonscript.pyw\"");
答案 1 :(得分:0)
感谢@aioobe的链接!在检查了ProcessBuilder.environment()后,我意识到Python不在那里(即使它在我的PATH系统环境变量中,很奇怪吧?) 所以我包含了我的pythonw.exe的绝对路径,它工作得很好:)这是我编辑的代码:
Process p = Runtime.getRuntime().exec("C:/python34/pythonw.exe pythonscript.pyw");