我想从我的 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 脚本甚至没有运行。
最佳答案
Python 是一种脚本语言 - 它需要解释器才能执行。
所以,为了安全起见 - 建立一个评论,例如
full-path-to-binary/python full-path-to-your-script/yourscript.py
当您使用类 UNIX 操作系统时以及当您编写脚本以在第一个语句中包含正确的 #!/path/to/python 语句时行,并且当脚本具有 r+x 文件系统权限时,您可能不需要这样做。
下一步:您的代码忽略任何异常。考虑检查错误消息而不是忽略它们。
关于java - 从 Java 运行 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45433913/