Python MQTT订阅获取发布信息字典过滤
起因是因为 订阅的时候,获取到的 MQTT 信息时,第一条信息好像是连接信息,所以需要过滤他。
接收到的数据如下

必须要过滤这个 name : 1 的字典,操作如下:
def on_message(client, userdata, msg):
print(msg.topic+" " + ":" + str(msg.payload))
print(type(msg.payload))
print(json.loads(msg.payload.decode('utf8')))
print(type(json.loads(msg.payload.decode('utf8'))))
js_code = json.loads(msg.payload.decode('utf8'))
print(js_code);
if "name" in js_code :
print(js_code["name"]);
elif "gateway_id" in js_code :
print(js_code["gateway_id"]);
print(js_code["funcode"]);
print(js_code["device_id"]);
print(js_code["value"]);
else :
print("dict error");
在 Python3 里面,已经没有 dict.has_key 的操作,判断里面是否有这个 key ,所以只能用 if "name" in js_code 的方法
Python MQTT订阅获取发布信息字典过滤的更多相关文章
- Python+Selenium自动化-获取页面信息
Python+Selenium自动化-获取页面信息 1.获取页面title title:获取当前页面的标题显示的字段 from selenium import webdriver import t ...
- python链接mqtt订阅与发布
什么是mqtt: MQTT 全称为 Message Queuing Telemetry Transport(消息队列遥测传输)是一种基于发布/订阅范式的"轻量级"消息协议.该协议构 ...
- python使用psutil获取服务器信息
>>> import psutil 获取cpu信息>>> psutil.cpu_times()scputimes(user=128258.38, nice=12.2 ...
- python基础之获取版本信息
在工作中经常会需要确定使用的py的版本信息,以便适配更多的系统,达到更大的兼容性. 一般关于python的信息和参数都要调用sys模块,关于操作系统的信息和调用都要使用os模块 所以这次我们使用sys ...
- 手把手教你使用Python网络爬虫获取招聘信息
1.前言 现在在疫情阶段,想找一份不错的工作变得更为困难,很多人会选择去网上看招聘信息.可是招聘信息有一些是错综复杂的.而且不能把全部的信息全部罗列出来,以外卖的58招聘网站来看,资料整理的不清晰. ...
- Python+selenium之获取验证信息
通常获取验证信息用得最多的几种验证信息分别是title,URL和text.text方法用于获取标签对之间的文本信息. 代码如下: from selenium import webdriverimpor ...
- Python面向对象:获取对象信息
学习笔记内容简介: 获取对象属性和方法的函数: type(): 判断对象类型 isinstance() : 判断class的类型 dir() : 获得一个对象的所有属性和方法 把属性和方法列出来是不够 ...
- Python+selenium之获取请求信息
basicConfig()所捕获的log信息.不过其开启的debug模式只能捕获到客户端像服务器发送的post()请求,而无法获取服务器所返回的应答信息. from random import ran ...
- python 面向对象五 获取对象信息 type isinstance getattr setattr hasattr
一.type()函数 判断基本数据类型可以直接写int,str等: >>> class Animal(object): ... pass ... >>> type( ...
随机推荐
- MySQL复制表结构、表数据
1.复制表结构及数据到新表 CREATE TABLE 新表SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable; ...
- springboot JSP 404
up vote 1. mvc # 页面默认前缀目录spring.mvc.view.prefix=/WEB-INF/view/# 响应页面默认后缀spring.mvc.view.suffix=.jsp ...
- Android Studio 代码导航快捷键总结
Android Studio 代码导航快捷键总结 这篇文章主要介绍了Android Studio 代码导航快捷键的相关资料,需要的朋友可以参考下 简评:作为一位 Android 开发者,Andro ...
- django -- model中只有Field类型的数据才能成为数据库中的列
一.model的定义: from django.db import models # Create your models here. class Person(models.Model): firs ...
- logstash 中多行合并
这里我之前是在input里面配置的多行合并,合并语法为: input { beats { type => beats port => 7001 codec => multiline ...
- phantomjs 的安装部署
下载地址http://phantomjs.org/download.htmlwget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs ...
- ISO-OSI的七层协议经典架构
OSI(Open System interconnection)开放系统互连参考模型 ISO(International Standards Organization)国际标准化组织 第一层:物理层 ...
- 最新Windows下c++读写锁SRWLock介绍
https://blog.csdn.net/MoreWindows/article/details/7650574 https://blog.csdn.net/chenzhjlf/article/de ...
- G1 Garbage Collector and Shenandoah
http://www.diva-portal.se/smash/get/diva2:754515/FULLTEXT01.pdf https://is.muni.cz/th/ifz8g/GarbageC ...
- C++11 STL算法简介
STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库.它被容纳于C++标准程序库(C++ Standard Library)中,是ANS ...