1.创建一组整型随机数,每隔1s将随机生成的值储存在临时数组中
2.创建一个每10s函数:将第一次储存的10个值相加,作为报警临界值,之后每隔10s相加的值与报警临界值比较大小。比较后:相加值与报警临界值相等时,把相加值存入数据库;不等时,调用警报函数
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
python根据自定义条件,筛选数据存入数据库
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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()
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 在若依框架下实现人脸识别
- ¥15 网络科学导论,网络控制
- ¥100 安卓tv程序连接SQLSERVER2008问题
- ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同