搜索到与相关的文章
Python

用 Python 实现读写锁

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

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

Python

Python 生成器 generator初步认识

生成器在Python中,使用了yield的函数被称为生成器(generator)。生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到yield时函数会暂停并保存当前所有的运行信息,返回yield的值,并在下一次执行next()方法时从当前位置继续运行。调用一个生成器函数,返回的是一个迭代器对象。列表推导式空间开销大占用内存耗时大,.生成器保存的是算法,而列表保存的计算后的内容,所以同样内容的

系统 2019-09-27 17:56:10 2163

Python

Python 常用函数方法、技巧

Python常用函数方法DataFrame与Dict的转换、reindex()对DataFrame排序注:字典没有顺序,DataFrame有顺序。importpandasaspdimportnumpyasnpdict={'c':1,'a':2,'b':3}print(dict)#打印字典#将字典转为DataFrame,列索引命名为zhi,行索引为原字典的键名df=pd.DataFrame([dict],index=['zhi'])#DataFrame转Di

系统 2019-09-27 17:55:17 2163

Python

python+socket实现网络信息交互及文件传输

Socket网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。Python提供了两个级别访问的网络服务。:低级别的网络服务支持基本的Socket,它提供了标准的BSDSocketsAPI,可以访问底层操作系统Socket接口的全部方法。高级别的网络服务模块SocketServer,它提供了服

系统 2019-09-27 17:55:16 2163

Python

Python time模块

元组(struct_time)方式:struct_time元组共有9个元素,返回struct_time的函数主要有gmtime(),localtime(),strptime().下面列出这种方式元组中的几个元素.索引(Index)属性(Attribute)值(Values)0tm_year(年)比如20191tm_mon(月)1-122tm_mday(日)1-313tm_hour(时)0-234tm_min(分)0-595tm_sec(秒)0-616tm_

系统 2019-09-27 17:54:35 2163

Python

Python内存管理机制 之 垃圾回收

参考链接:https://www.cnblogs.com/alexzhang92/p/9416692.htmlhttps://www.cnblogs.com/neillee/p/6259590.html目录一、基本知识二、GC垃圾回收1、引用计数引用计数的增减引用计数法有很明显的优点:引用计数机制的缺点:2、画说Ruby与Python垃圾回收2.1应用程序那颗跃动的心一个简单的例子免费清单在Python中分配对象Ruby开发人员住在凌乱的房子里Python

系统 2019-09-27 17:53:41 2163

Python

python-opencv实现实时人脸识别

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

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

Python

Python中切片的用法

在Python中,切片是列表、元组或者字符串中常见用法,然而对一些新手而言,有时候含有切片的代码可读性并不是非常友好。下面就说一说Python中切片的具体用法。在Python中,切片的使用方式为[起始位置:结束位置:步长],代表着从起始位置到结束位置根据步长所得到的全部元素。其中,起始位置、结束位置、步长三个属性均有默认值,当不指定其具体值时,Python就会使用其默认值,它们的默认值分别为0,、列表或元组长度、1。值得注意的几点是:1、当起始位置为负数时

系统 2019-09-27 17:51:53 2163

Python

python中字符串比较使用is、==和cmp()总结

经常写shell脚本知道,字符串判断可以用=,!=数字的判断是-eq,-ne等,但是Python确不是这样子的。所以作为慢慢要转换到用Python写脚本,这些基本的东西必须要掌握到骨子里!在Python中比较字符串最好是使用简单逻辑操作符。例如,确定一个字符串是否和另外一个字符串匹配。正确的,你可以使用isequal或==操作符。你也可以使用例如>=或<来确定几个字符串的排列顺序。从官方文档上看Theoperators``is``and``isnot``t

系统 2019-09-27 17:51:52 2163

Python

Python中使用gzip模块压缩文件的简单教程

压缩数据创建gzip文件先看一个略麻烦的做法importStringIO,gzipcontent='Lifeisshort.Iusepython'zbuf=StringIO.StringIO()zfile=gzip.GzipFile(mode='wb',compresslevel=9,fileobj=zbuf)zfile.write(content)zfile.close()但其实有个快捷的封装,不用用到StringIO模块f=gzip.open('fil

系统 2019-09-27 17:50:34 2163