我想从我的Java应用程序运行Python2脚本,但它不会运行。
我没有得到任何堆栈或错误 - 它只是没有运行!
我试过了:
public void execPython2(String file, String parm0) {
try {
Process p = new ProcessBuilder("python2", file, parm0).start();
} catch (Exception e) {
}
}
以下是方法调用:
public String getMAC(String IP_Addr) {
execPython2("getMacAddr.py", IP_Addr);
try {
Thread.sleep(500);
} catch (Exception e) {
}
String macAddr[] = readFromFile("lastMac.log", false);
try {
Thread.sleep(500);
} catch (Exception e) {
}
return macAddr[0];
}
python2脚本将创建一个" lastMac.log"文件。
起初我认为python脚本不会完成,我只需要等到它完成但我猜Python脚本甚至没有运行。
答案 0 :(得分:3)
Python是一种脚本语言 - 需要执行解释器。
所以,为了安全起见 - 建立一个像
这样的评论 full-path-to-binary/python full-path-to-your-script/yourscript.py
当使用类似unix的操作系统 时,你正在编写脚本以在其第一个包含正确的#!/ path / to / python语句如果脚本具有r + x文件系统权限,则可能不需要执行此操作。
下一步:您的代码忽略任何异常。请考虑检查错误消息而不是忽略它们。