Python如何在字符串中找到正确的结果

时间:2012-09-11 13:14:41

标签: python temperature

我正在使用Occidentalis v0.2并使用python脚本调用modprobe来读取一个DS18B20的温度!

我也是python的新手,所以请耐心等待,这只是我代码的一小部分:

with open(path, "r") as f:
  contentArray = []
  for line in f:
    contentArray.append (line)
f.close

s = contentArray[0]
if s.find('YES'):
  return contentArray[0]
else:
  return 88

示例:contentArray [0]可以将结果显示为:

68 01 4b 46 7f ff 0c 10 05 : crc=3e NO

或:

68 01 4b 46 7f ff 08 10 05 : crc=05 YES

如果上述代码有误,我该如何找到YES?因为这说明了 正确的CRC。如果我有,我实际上想要返回contentArray[1](其中 包含正确的温度值。)

2 个答案:

答案 0 :(得分:1)

解决了,我不得不在代码中进行此更改:

s = contentArray[0]
if s.find('YES') != -1:
  return contentArray[0]
else:
  return 88

答案 1 :(得分:0)

谢谢,下次我会尝试.find命令。我只是为bash编写了一个小的单行程,以节省温度读数。当然,还有很大的改进空间。

while true; do echo -n "$(date '+%D %T'); " >> output.csv; cat /sys/devices/w1_bus_master1/*/w1_slave | grep -A 1 YES | grep -m 1 t= | cut -c30- >> output.csv; sleep 1; done

如您所见,grep命令可以找到关键字“YES”和“t =”。