前言本文将简单介绍DTU701订阅MQTT消息,远程控制LED灯。MQTT是IBM开发的一个即时通讯协议。MQTT是面向M2M和物联网的连接协议,采用轻量级发布和订阅消息传输机制。若初次接触MQTT协议,可先理解以下概念:MQTT协议特点——借助消息推送功能,可以更好地实现远程控制。MQTT协议角色——发布者,代理器(服务器)和订阅者。MQTT协议消息——消息可理解为发布者和订阅者交换的内容(负载),这些消息包含具体的内容,可以被订阅者使用。MQTT协议主
系统 2019-09-27 17:47:21 2257
Ubuntu18.04下使用pyenv安装python报错:BUILDFAILED(Ubuntu18.04usingpython-build20180424)解决方案:执行如下命令:sudoapt-getinstall-ymakebuild-essentiallibssl-devzlib1g-devlibbz2-devlibreadline-devlibsqlite3-devwgetcurlllvmlibncurses5-devlibncursesw5-d
系统 2019-09-27 17:46:45 2257
快排是python经典算法之一。1、下面讲解的是什么是快排和快排的图示。2、快排是一种解决排序问题的运算方法。3、快排的原理:在数组中任意选择一个数字作为基准,用数组的数据和基准数据进行比较,比基准数字打的数字的基准数字的右边,比基准数字小的数字在基准数字的左边,第一次排序之后分为比基准数据大或比基准数据小两个部分,用刚开始的方法继续排序,直到每个排序分组中只有一个数据或没有数据为止。4、下面以[79123163792]数组为例子,进行快排运算。5、选基准
系统 2019-09-27 17:38:14 2257
HTTP暴力破解、撞库,有一些惯用的技巧,比如:1.在扫号人人网时,我遇到单个账号错误两次,强制要求输入验证码,而对方并未实施IP策略。我采用维护10万(用户名,密码)队列的方式来绕过验证码。具体的做法是,当某个用户名、密码组合遇到需要验证码,就把该破解序列挂起,放到队列尾部等待下次测试,继续破解其他账号密码。这样就可以保证2/3的时间都在进行正常破解和扫号。2.在破解美团网某系统账号时,我遇到了单个IP访问有一定限制,请求频率不可过快。于是我挂了72个H
系统 2019-09-27 17:56:03 2256
下面代码可以直接用于将数组数据存储到数据库中第一步准备数据定义一下列名称para_name=[‘mkey’,‘uni_int’,‘pinyin’]提供一下数据para_list=[(‘中’,‘20013’,‘zhong’),(‘国’,‘22269’,‘zhong’)]将数据存储到sqlite数据库中dbname=‘pypinyin.db’tname=‘pypinyin_dict’para2db(dbname,tname,para_name,para_lis
系统 2019-09-27 17:54:48 2256
ChainMap是Pythoncollections模块中的一个成员,它用来将多个map组合到一起。Chain是链条的意思,字面意思就是把map串联到一起。问题的背景是我们有多个字典或者映射,想把它们合并成为一个单独的映射,有人说可以用update进行合并,这样做的问题就是新建了一个数据结构以致于当我们对原来的字典进行更改的时候不会同步。如果想建立一个同步的查询方法,可以使用ChainMap先看一下初步使用fromcollectionsimportChai
系统 2019-09-27 17:54:00 2256
文件夹中文件数较多,每份文件较大的情况下,可以采用多进程读取文件最后附完整项目代码#单进程读取文件夹中的单份文件defread_data(path):start=time.time()withopen(path,'rb')asf:filename=pickle.load(f)end=time.time()print('Taskruns%0.2fseconds.'%((end-start)))returnfilename#向数据库插入数据definsert_
系统 2019-09-27 17:53:42 2256
文章发出不到30分钟就被首页下架了,默哀……起因为了督促自己更加积极地写博客,我希望有一个排名系统能让我看到自己的进步。但是博客园对用户的排名体系相对是比较少的,主要是推荐博客排行和积分排行;但它们人数少难度大,短期内难以进入排名。因此我决定自力更生,爬取一份博客园粉丝数排行榜。重要声明为避免误(封)会(号),先做如下声明:1、本排行榜非官方发布,是我通过爬虫得到的。2、爬虫过程一直坚持网站友好原则:(1)只查询网站公开内容(当然,非公开的我也不会)(2)
系统 2019-09-27 17:53:26 2256
在Python中定义函数,可以用必选参数(位置参数),默认参数,可变参数,关键字参数和命名关键字参数,这5种参数都可以组合使用。但参数定义的顺序必须是:必选参数(位置参数)默认参数可变参数命名关键字参数关键字参数例如:定义:deff1(x,y=0,*args,z,**kw):print(x,y,args,z,kw)调用:f1(1,2,3,4,5,z=6,p=7,q=8)输出:12(3,4,5)6,{'p':7,'q':8}定义:deff2(x,y=0,*,
系统 2019-09-27 17:50:10 2256
直接看代码方式一:importtimestart_time=time.perf_counter()s=''forninrange(0,1000):s+=str(n)end_time=time.perf_counter()print('Timeelapse:{}'.format(end_time-start_time))方式二:importtimestart_time=time.perf_counter()s=[]forninrange(0,1000):s.
系统 2019-09-27 17:51:45 2255
今天来试一下如何利用python来统计文本中每个英文单词出现的次数列出了两种方法,一种是直接调用Counter函数,核心代码一行搞定另一种是手写的利用python中的字典来统计1.首先将文本文件导入文本是长这样子的f=open(r"C:\Users\aaa\Desktop\new.txt",encoding="utf-8")a=f.read().split()open文本之后,将文本read进来,然后用split将单词利用空格切分开输出的是一个列表,也就是
系统 2019-09-27 17:49:43 2255
前言因近期进行时间序列分析时遇到了数据预处理中的缺失值处理问题,其中日期缺失和填充在网上没有找到较好较全资料,耗费了我一晚上工作时间,所以下面我对这次时间序列缺失值处理学习做了以下小结以供之后同行们参考指正。时间序列缺失值处理一、编程前准备收集时间序列数据,相信看这篇博客的各位已经完成了这步。需要安装pandas模块,并利用Python的Lib文件夹自带的datetime库(当时我因为在Pycharm环境中没看到datetime模块又去安装了DateTim
系统 2019-09-27 17:46:41 2255
本文实例讲述了python实现得到当前登录用户信息的方法。分享给大家供大家参考,具体如下:在linux环境下,python更多的被当做替代SHELL的工具语言,其实linux中,本身就有很多命令是通过python扩展的,我想记录下一些常用的命令以及使用方式,以便以后查看.第一部分:python得到得到当前登录用户信息defget_current_user():try:#pwdisunixonlyimportpwdreturnpwd.getpwuid(os.
系统 2019-09-27 17:46:38 2255
ubuntu中自带了python,同时也提供了vim神级编辑器,对于python的集成工具pycharm系统并不自动安装,所以用户需要自行安装,本篇介绍ubuntu上安装pycharm编辑器;一、资源下载:地址:https://www.jetbrains.com/pycharm/download/#section=linux选择linux版本即可;社区版还是专业版因需而定;二、安装包解压编译安装:使用命令:tar-szvf加包名解压出安装包;依次切换到bi
系统 2019-09-27 17:46:06 2255
想把python提取出来的加载点反力和某个单元的应力画在同一个XY曲线图上,由于两者数量级差太远,故而需要建立有两个Y轴的XY曲线图。效果为:代码如下:#创建Quatype,作为标记,用于判断是否需要创建多条Y轴(或X轴)#label会变成默认的坐标轴名type是一个枚举,“type”相同的合并成同一个轴Quatype1=xyPlot.QuantityType(label='应力',type=STRESS)Quatype2=xyPlot.QuantityT
系统 2019-09-27 17:45:54 2255