【发布时间】:2019-02-19 04:37:56
【问题描述】:
我想在 RPi 的相机模块使用 jar 文件捕获照片后运行 python 脚本(tensorflow 的图像标签脚本)。我已经尝试过 Runtime 和 ProcessBuilder,但它说没有找到文件或目录。
这是我的运行时代码:
Process rt = Runtime.getRuntime().exec("python3 -m scripts.image-label.py");
rt.waitFor();
BufferedReader in = new BufferedReader(new InputStreamReader(rt.getInputStream()));
String read = in.readLine();
ML = read;
result resfin = new result();
resfin.setVisible(true);
这是我的 ProcessBuilder 的代码:
ProcessBuilder builder = new ProcessBuilder("/home/pi/Desktop/ML/scripts/image-label.py");
Process np = builder.start();
np.waitFor();
BufferedReader in = new BufferedReader(new InputStreamReader(np.getInputStream()));
String read = in.readLine();
ML = read;
result resfin = new result();
resfin.setVisible(true);
我做错了吗?还是我错过了什么?任何帮助将不胜感激!
【问题讨论】:
-
更改为
ProcessBuilder builder = new ProcessBuilder("python3","/home/pi/Desktop/ML/scripts/image-label.py");应该可以。让我知道这是否有效,将添加为答案 -
会的!现在试试这个。不过有一个问题,我应该把-m放在哪里?会像 ProcessBuilder("python3 -m","directory") 还是像 ProcessBuilder("python3","-m","*directory)?
标签: java python python-3.x processbuilder runtime.exec