我写了python脚本来读取传感器的“温度/湿度”数据并且工作正常并返回结果“23.0 / 38.0”。
我需要将23.0放在对象成员变量“temperature”中,将38.0放在“Humidity”成员变量中,然后返回传感器对象。
我的问题是,创建的Web服务返回温度和Humidity变量为空。
<feature name="Device">
<param name="ios-package" value="com.xxxx.xxxxx" />
<param name="onload" value="true" />
</feature>
}
答案 0 :(得分:0)
您可以使用BufferedReader
收集Python脚本的输出,一次性读取整行输出(假设生成一行)。
然后,您可以使用String.split()
将字符串分解为温度和湿度分量,并使用/
作为分隔符。最后,如果需要,您可以将这些字符串转换为float
类型:
import java.io.*;
public class Test {
public static void main(String[] args) {
try {
Process p = Runtime.getRuntime().exec("python test.py");
BufferedReader fromChild = new BufferedReader(
new InputStreamReader(p.getInputStream()));
String data = fromChild.readLine();
String[] measurement = data.split("/");
System.out.println("Temperature: " + measurement[0]);
System.out.println("Humidity: " + measurement[1]);
float temperature = Float.parseFloat(measurement[0]);
float humidity = Float.parseFloat(measurement[1]);
System.out.println("Temperature (float): " + temperature);
System.out.println("Humidity (float): " + humidity);
}
catch(Exception e) {
System.out.println(e.getMessage());
}
}
}