在Python3中实现无限循环的正确方法

时间:2018-12-13 10:05:27

标签: python python-3.x iot

我是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)

这似乎可行,但是我正在寻找一种有效的方式。我不确定这是好方法还是坏方法。

0 个答案:

没有答案