py_w 0000000000000 2022-03-28 12:28 采纳率: 89.5%
浏览 47
已结题

python根据自定义条件,筛选数据存入数据库

1.创建一组整型随机数,每隔1s将随机生成的值储存在临时数组中
2.创建一个每10s函数:将第一次储存的10个值相加,作为报警临界值,之后每隔10s相加的值与报警临界值比较大小。比较后:相加值与报警临界值相等时,把相加值存入数据库;不等时,调用警报函数

  • 写回答

1条回答 默认 最新

  • 陈年椰子 2022-03-28 14:55
    关注

    按这个需求, 看实际跑的脚本, 可能合适的数据较少
    修改随机值范围小一些,相等机会大一些

    from threading import Thread
    from time import sleep
    from random import randint
    from pubsub import pub
    
    class Thread1(Thread):
        def __init__(self):
            """Init Worker Thread Class."""
            Thread.__init__(self)
            print('采集线程Start ')
    
        def run(self):
            """Run Worker Thread."""
            while True:
                pub.sendMessage('setval', status_val=randint(1,5))
                sleep(1)
    
    
    class Thread2(Thread):
        def __init__(self):
            Thread.__init__(self)
            print('分析线程Start ')
            self.data = []
            self.stand = 0
            pub.subscribe(self.change_status, 'setval')
    
        def change_status(self, status_val):
            self.data.append(status_val)
    
        def wait_net_work(self):
            # 等待数据
            while len(self.data)<10:
                sleep(1)
    
        def run(self):
            self.wait_net_work()
            print(self.data)
            self.stand = sum(self.data)
            print("基准",self.data)
            while True:
                self.data = []
                sleep(10)
                self.wait_net_work()
                if sum(self.data) == self.stand:
                    print("符合基准({}),调用保存数据代码".format(self.stand),self.data)
                else:
                    print("不符合基准({}),调用警报函数代码".format(self.stand))
    
    
    
    
    def test():
        print('start test')
        t1 = Thread1()
        t1.start()
        t2 = Thread2()
        t2.start()
    
    
    
    
    if __name__ == '__main__':
        test()
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月5日
  • 已采纳回答 3月28日
  • 创建了问题 3月28日

悬赏问题

  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥15 小红薯封设备能解决的来
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答
  • ¥20 在本地部署CHATRWKV时遇到了AttributeError: 'str' object has no attribute 'requires_grad'
  • ¥15 vue+element项目中多tag时,切换Tab时iframe套第三方html页面需要实现不刷新
  • ¥50 深度强化学习解决能源调度问题
  • ¥15 一道计算机组成原理问题