【发布时间】:2019-03-09 15:17:39
【问题描述】:
我想用下面的代码读取 DS18B20 传感器数据:
filepath = "/sys/bus/w1/devices/w1_bus_master1/w1_master_slaves"
with open(filepath) as fp:
sensor=fp.readline()
while sensor:
print("Sensor: {}".format(sensor.strip()))
with open("/sys/bus/w1/devices/" + sensor.strip() + "/w1_slave") as fp1:
sensor_data = fp1.read()
print(sensor_data.strip())
sensor=fp.readline()
问题是while循环从不跳到下一行,一直在第一行循环。
我在这里错过了什么?
PS。我对 python 完全陌生,这是我的第一个 python 代码
【问题讨论】:
-
因为,
sensor永远不会在循环内更新。它不断循环通过第一个读取值。也许缩进最后一行? -
sensor=fp.readline()应该在循环中吗?它在外面张贴在这里。 -
那么,
sensor=fp.readline()应该再缩进一次吗? -
是的,现在可以使用了!谢谢
-
@Austin,请发表您的评论作为答案。
标签: python while-loop readline