BeautifulSoup基础实战安装:pipinstallbeautifulsoup4常用指令:frombs4importBeautifulSoupasbsimporturllib.requestdata=urllib.request.urlopen("https://www.cnblogs.com/mcq1999/").read().decode("utf-8","ignore")bs1=bs(data)print(bs1.prettify())#格式
系统 2019-09-27 17:50:47 1914
某天回家之时,听到有个朋友说起他正在做一个车牌识别的项目于是对其定位车牌的位置算法颇有兴趣,今日有空得以研究,事实上车牌识别算是比较成熟的技术了,这里我只是简单实现。我的思路为:对图片进行一些预处理,包括灰度化、高斯平滑、中值滤波、Sobel算子边缘检测等等。利用OpenCV对预处理后的图像进行轮廓查找,然后根据一些参数判断该轮廓是否为车牌轮廓。效果如下:test1:test2实现代码如下(对图像预处理(滤波器等)的原理比较简单,这里只是对一些函数进行调包
系统 2019-09-27 17:50:43 1914
平时做数据处理基本离不了日志记录功能。每次都配置一堆挺烦人,索性封装个模块,这里记录一下,与大家共享。说明本日志模块目前只有一个方法getLogger,其他配置项通过参数传递,包括日志文件名,等级,日志文件划分方式,日志清除配置,日志格式等。logger.pyimportloggingfromloggingimporthandlers#日志级别字典__level_dict={'critical':logging.CRITICAL,'fatal':loggi
系统 2019-09-27 17:50:32 1914
队、栈和链表一样,在数据结构中非常基础一种数据结构,同样他们也有各种各样、五花八门的变形和实现方式。但不管他们形式上怎么变,队和栈都有其不变的最基本的特征,我们今天就从最基本,最简单的实现来看看队列和堆栈。不管什么形式的队列,它总有的一个共同的特点就是“先进先出”。怎么理解呢?就像是超市排队结账,先排队的人排在队的前面,先结账出队。这是队列的特征。而堆栈则和队列相反,它是“先进后出”,怎么理解呢?基本所有的编辑器都有一个撤销功能,就是按Ctrl+Z。当你写
系统 2019-09-27 17:50:25 1914
在了解装饰器的之前一定要先了解函数作为参数传递,什么是函数内嵌,请参考我之前写的博客函数简介因为在python里面,函数也是对象,也可以作为参数进行传递.python装饰器本质也是一种特殊函数,它接收的参数是函数对象,然后动态地函数参数添加额外的功能,而不用修改原有的函数对象.python装饰器传入的参数是函数,返回的值也是函数!python装饰器思想有点类似设计模式的装饰模式,其意图是动态地给函数对象添加额外的功能.比如像增加日志打印的功能,有点面向切面
系统 2019-09-27 17:50:12 1914
通过Python\text{Python}Python仿真一个FireFoxorChrome\text{FireFoxorChrome}FireFoxorChrome浏览器,然后通过send_keys\text{send\_keys}send_keys发送数据到input\text{input}input文本框,当数据字节数比较小时,完全不会发现任何异常,但是当发送长文本时,会出现卡顿或者阻塞的现象,导致数据的实时性下降了很多。查看send_keys\te
系统 2019-09-27 17:49:52 1914
并发与锁a.多个线程共享数据的时候,如果数据不进行保护,那么可能出现数据不一致现象,使用锁,信号量、条件锁b.c.互斥锁1.互斥锁,是使用一把锁把代码保护起来,以牺牲性能换取代码的安全性,那么Rlock后必须要relase解锁不然将会失去多线程程序的优势2.互斥锁的基本使用规则:1importthreading2#声明互斥锁3lock=threading.Rlock();4defhandle(sid):#功能实现代码5lock.acquire()#加锁6#
系统 2019-09-27 17:48:09 1914
什么是Python?Python是一种功能强大的高级编程语言,主要用于科学和工程计算。它是一种高效的语言,优雅务实,简单而强大,适合新手和专业人士的编程。Python支持多种编程范例,并提出了一个大型标准库,包括面向对象,命令式,功能性和程序性。Go是什么?Go是一种通用编程语言,由Google设计;它借鉴了许多其他许多好主意语言,同时避免导致复杂性和不可靠代码的功能。Go支持多范式,如程序,功能和并发。它的语法传统上来自C语言,但它已经做了很多修改,以改
系统 2019-09-27 17:48:01 1914
mydict={'Li':['M',7],'Zhang':['E',2],'Wang':['P',3],'Du':['C',2],'Ma':['C',9],'Zhe':['H',7]}res=sorted(mydict.items(),key=lambdax:x[1][1])#根据value结构[m,n]中n的值进行排序print(res)#输出#[('Zhang',['E',2]),('Du',['C',2]),('Wang',['P',3]),('Li
系统 2019-09-27 17:46:52 1914
1.从集合中取出最大或最小N个元素importheapqnums=[1,8,2,23,7,-4,18,23,42,37,2]print(heapq.nlargest(3,nums))#输出[42,37,23]print(heapq.nsmallest(3,nums))#输出[-4,1,2]也支持其他参数支持更为复杂的数据结构portfolio=[{'name':'IBM','shares':100,'price':91.1},{'name':'AAPL',
系统 2019-09-27 17:46:30 1914