我正在尝试通过 java 启动 python 脚本并通过套接字将数据发送回 java 程序。
我的问题是,当我在使用 Runtime.getRuntime().exec("python3 ~/Documents/sensor/sensorADC.py");
创建 SocketServer 后启动 python 脚本时
没有建立连接,也没有传输数据。
但是当我通过 CLI 手动启动脚本时,一切正常。
程序启动的时间应该不是问题,因为我已经尝试了不同的方式和顺序。
java程序是一个javaFx应用程序。 编辑:在 Linux 中测试
第二次编辑:
private void startPythonScript () {
尝试 {
measureProcess = Runtime.getRuntime().exec("python3 ~/Documents/sensor/sensorADC.py"));
} catch (IOException e){
e.printStackTrace();
}
}
我错过了什么?
提前致谢
最佳答案
你很接近,你可以将一个数组传递给 exec 方法,如下所示:
String[] cmd = { "python3", "sensorADC.py", "~/Documents/sensor/"};
Runtime.getRuntime().exec(cmd);
它应该可以工作。
关于Java启动python进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50821130/