我试图通过java启动python脚本,并通过套接字将数据发送回java程序。
我的问题是,当我使用Runtime.getRuntime().exec("python3 ~/Documents/sensor/sensorADC.py");
创建SocketServer后启动python脚本
没有建立连接,也没有数据传输。
但是当我通过CLI手动启动脚本时,一切正常。
程序启动的时间不应该是问题,因为我已经尝试了不同的方法和命令。
java程序是一个javaFx应用程序。 编辑:在Linux中测试
第二编辑:
private void startPythonScript () {
try {
measureProcess = Runtime.getRuntime().exec("python3 ~/Documents/sensor/sensorADC.py"));
} catch (IOException e) {
e.printStackTrace();
}
}
我错过了什么?
提前谢谢
答案 0 :(得分:0)
你很接近,你可以将数组传递给exec方法,如下所示:
String[] cmd = { "python3", "sensorADC.py", "~/Documents/sensor/"};
Runtime.getRuntime().exec(cmd);
它应该有用。
答案 1 :(得分:0)
我“解决了”它。 我用pyinstaller编译它现在它的工作原理。 Python似乎是这里的问题。 但我不知道为什么......
对于其他人,我将其编译为pyinstaller --onefile sensor.py