我是python编码的新手,并且仍在学习中,因此对于许多人来说,这很可能是一个愚蠢的问题。但是我要寻找的是逻辑,而不是代码。
我的场景: 我有一个IoT传感器,它将定期以JSON文件的形式通过串行向我发送数据。该文件将始终是相同的名称。现在,我正在编写一个python脚本以无限循环读取此JSON文件。 这个想法是,如果JSON中没有数据,那么循环应该就中断并向我发送一条消息。否则,只需解析字典即可。
我尝试过这样写,除了。
def readDataInLoop(self, ):
while True:
try:
# Reading json
with open('dummyzigbee.json') as f:
data = json.load(f)
# Check Data: If Data is empty, exit loop with error message
if not data:
print("Error!! No data recieved ...")
print("Conenction lost at {} ".format(time.asctime(time.localtime(time.time()))))
break
else:
# If data is recieved then parse the data
self.parseData(data)
except:
pass
# Give some rest to processor
time.sleep(1)
这似乎可行,但是我正在寻找一种有效的方式。我不确定这是好方法还是坏方法。