- 军军小站|张军博客
搜索到与相关的文章
Python

用 Python 实现读写锁

♚作者:weapon,闲来笑浮生悬笔一卷入毫端,朱绂临身可与言者不过二三。博客:zhihu.com/people/hong-wei-peng起步Python提供的多线程模型中并没有提供读写锁,读写锁相对于单纯的互斥锁,适用性更高,可以多个线程同时占用读模式的读写锁,但是只能一个线程占用写模式的读写锁。通俗点说就是当没有写锁时,就可以加读锁且任意线程可以同时加;而写锁只能有一个线程,且必须在没有读锁时才能加上。简单的实现这是读写锁的一个简单的实现,self.

系统 2019-09-27 17:56:19 1928

Python

Python性能分析工具Profile

Python性能分析工具Profile代码优化的前提是需要了解性能瓶颈在什么地方,程序运行的主要时间是消耗在哪里,对于比较复杂的代码可以借助一些工具来定位,python内置了丰富的性能分析工具,如profile,cProfile与hotshot等。其中Profiler是python自带的一组程序,能够描述程序运行时候的性能,并提供各种统计帮助用户定位程序的性能瓶颈。Python标准模块提供三种profilers:cProfile,profile以及hots

系统 2019-09-27 17:56:15 1928

Python

经验拾忆(纯手工)=> Python-ORM之peewee:模型-字段-索引

前言去github搜"pythonorm",最高star居然不是sqlalchemy,而是peewee后来得知peewee,比sqlalchemy简单好用。值得一学哦!!我总体感觉(peewee像Django-ORM的分离版,,但比Django-ORM和SqlAlchemy小巧,简单,文档也友好)还有一个更重要的感觉就是,peewee的API方法名和SQL语句的单词基本相似。例如对比一下(关键词语法都是update和where):SQL语句:updateL

系统 2019-09-27 17:54:51 1928

Python

详解Python用三种方式统计词频的方法

三种方法:①直接使用dict②使用defaultdict③使用Counterps:`int()`函数默认返回0①dicttext="I'mahandsomeboy!"frequency={}forwordintext.split():ifwordnotinfrequency:frequency[word]=1else:frequency[word]+=1②defaultdictimportcollectionsfrequency=collections.d

系统 2019-09-27 17:54:44 1928

Python

python3--selenium--unittest。长时间未使用,编写UI

前言:自动化测试存在比较多的使用限制,会存在某段时间无法使用的生疏期。通过这篇文章记录项目编写程序中遇到的问题以及解决思路,希望对以后的自动化开发能有些帮助。本篇记录5个问题:问题6:获取列表中,整行整列数据的方法问题7:数据无法获取众多原因之一:列表中同一位置元素,html格式不同。问题8:for循环与try使用错误问题9:确认网页是否打开的方法之一:使用title问题10:selenium操作下拉选项内容问题6:获取列表中,整合整理额数据的方法:操作网

系统 2019-09-27 17:54:28 1928

Python

Python3操作Excel-以豆瓣图书Top250为例

本文利用Python3爬虫抓取豆瓣图书Top250,并利用xlwt模块将其存储至excel文件,图片下载到相应目录。旨在进行更多的爬虫实践练习以及模块学习。工具1.Python3.52.BeautifulSoup、xlwt模块开始动手首先查看目标网页的url:https://book.douban.com/top250?start=0,然后我尝试了在代码里直接通过字符串连接仅改变”start=“后面的数字的方法来遍历所有的250/25=10页内容,但是后来

系统 2019-09-27 17:53:39 1928

Python

分享6个隐藏的python功能

小编在以前给大家介绍过python一些很少用到的功能,这次我们给大家分享了6个隐藏的python功能,学习下。在python的设计哲学中,有这么一条内容:“Simpleisbetterthancomplex”,简单的代码比复杂的要好,这也是为什么python被推荐为初学者必学的语言。很多人初学python,往往会受到其他语言的影响,比如之前学过java的,把python代码写的像java一样。举个例子,在java中设计一个类时,我们常常会为内部变量定义ge

系统 2019-09-27 17:53:03 1928

Python

【Python】装饰器与内部函数简单理解

1、内部函数,顾名思义,是函数内部定义的函数,其作用是封装逻辑,使函数逻辑更为清晰。defouter():inner():业务逻辑returninner2、为何returninner而不是returninner()呢?初学者可能都有此一问,我们知道,运行一个函数就是:func(),然后func会得出结果。同理,如果returninner()就是要返回inner()的运算结果,但是innner()函数没有返回值,此时returninner()只能得到None

系统 2019-09-27 17:52:40 1928

Python

python-opencv实现实时人脸识别

python_opencv这个库功能还是非常强大的,可以读取本地摄像头的内容,并且可以直接使用不同分类器对人脸进行识别。这里主要展示使用opencv实现对笔记本摄像头中的人脸实时识别和标注。主要是笔记本摄像头实时获取画面,然后获取其中人脸的位置,并在人脸位置的正方形进行标注。代码主要如下:#导入cv模块importcv2cap=cv2.VideoCapture(0)#告诉OpenCV使用人脸识别分类器#分类器下载地址https://github.com/o

系统 2019-09-27 17:52:34 1928

Python

Python 学习 第16篇:数据类型(字典)

字典是键/值对构成的集合,字典通过大括号来创建,字典的键是字符串,而值可以是任何数据对象。字典有两个重要的特征:字典是无序的,字典项没有特定的顺序,只能通过键来获取值;字典是可变的,支持原处修改键的值;字典是作为散列表来实现的,可增长,搜索非常快速;和列表一样,字典存储的是对象的引用,不是拷贝。创建字典创建空的字典:>>>d={}创建包含两个项目的字典:>>>d={'name':'vic','age':28}创建包含嵌套类型的字典:>>>d={'stude

系统 2019-09-27 17:52:13 1928