我在 Python 中有一个读取 ds18b20 温度传感器的函数。传感器在我读取它的大约 5% 的时间里给我一个错误值 (-0.062)。这不是问题,但我不想记录该值,因为它在我的图表中看起来很难看。
我无法设法“捕获” if 语句中的值以将其替换为“#error”。下面的代码运行良好,但似乎 if 语句有问题并且不起作用 - 它只是运行 else 下的所有内容。
我已经尝试了所有方法,甚至“捕捉”了 1000 到 1500 之间的所有值(除以 1000 之前的当前温度读数),以检查它是否适用于任何温度,但事实并非如此。
有谁知道为什么我的 if 语句不起作用?
def readtwo():
tfile = open("/sys/bus/w1/devices/28-0000040de8fc/w1_slave")
text = tfile.read()
tfile.close()
secondline = text.split("\n")[1]
temperaturedata = secondline.split(" ")[9]
temperature = float(temperaturedata[2:])
temperature = temperature / 1000
if temperature == -0.062:
return("#error")
else:
return(temperature)