Java启动python进程

时间:2018-06-12 15:46:26

标签: java python

我试图通过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(); } }

我错过了什么?

提前谢谢

2 个答案:

答案 0 :(得分:0)

你很接近,你可以将数组传递给exec方法,如下所示:

String[] cmd = { "python3", "sensorADC.py", "~/Documents/sensor/"};
Runtime.getRuntime().exec(cmd);

它应该有用。

答案 1 :(得分:0)

我“解决了”它。 我用pyinstaller编译它现在它的工作原理。 Python似乎是这里的问题。 但我不知道为什么......

对于其他人,我将其编译为pyinstaller --onefile sensor.py

的可执行文件