Python

Python多线程编程(六):可重入锁RLock

考虑这种情况:如果一个线程遇到锁嵌套的情况该怎么办,这个嵌套是指当我一个线程在获取临界资源时,又需要再次获取。根据这种情况,代码如下:复制代码代码如下:'''Createdon2012-9-8@author:walfred@module:thread.ThreadTest6'''importthreadingimporttimecounter=0mutex=threading.Lock()classMyThread(threading.Thread):de

系统 2019-09-27 17:50:55 2013

Python

python for和else语句趣谈

老婆给当程序员的老公打电话:“下班顺路买一斤包子带回来,如果看到卖西瓜的,买一个。”当晚,程序员老公手捧一个包子进了家门……老婆怒道:“你怎么就买了一个包子?”老公答曰:“因为看到了卖西瓜的。”程序员买西瓜的笑话可能大部分读者都知道,今天写的这篇文章和这个笑话有一定的关系。任何编程语言都提供了if...else...语句,表示如果(if)满足条件就做某件事,否则(else)就做另外一件事:ifa==b:print("true")else:print("fa

系统 2019-09-27 17:50:46 2013

Python

python多线程

python多线程#创建线程threading_list=[]t1=threading.Thread(target=music,args=(u'爱情买卖',))threading_list.append(t1)t2=threading.Thread(target=move,args=(u'阿凡达',))threading_list.append(t2)fortinthreading_list:#启动线程t.setDaemon(True)#将线程声明为守护线

系统 2019-09-27 17:50:32 2013

Python

Python脚本和C#的互相调用

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。是一门动态解释型语言,也是一门胶水语言,很方面调用其它编程语言的程序。比如:C/C++,C#等等。这里介绍一下Python和C#的互相调用。IronPython是一种在.NET及Mono上的Python实现,由微软的JimHugunin所发起,是一个开源的项目,基于微软的DLR引擎。IronPython是流行的程序设计语言Python通向.NETframework的一个端口。微软公司对于.

系统 2019-09-27 17:50:24 2013

Python

Python+OpenCV调用摄像头接口打造家庭安防系统

问题描述:使用Python+opencv调用笔记本摄像头接口,定期捕捉图像或录制视频并保存为图像文件或视频文件。可以在家里没有人的时候使用该程序监视家中是否有小偷进入或者宠物们有没有搞破坏。关注微信公众号“Python”阅读原文

系统 2019-09-27 17:49:51 2013

Python

Python and、or以及and-or语法总结

一、and:在Python中,and和or执行布尔逻辑演算,如你所期待的一样,但是它们并不返回布尔值;而是,返回它们实际进行比较的值之一。复制代码代码如下:>>>'a'and'b''b'>>>''and'b'''>>>'a'and'b'and'c''c'在布尔上下文中从左到右演算表达式的值,如果布尔上下文中的所有值都为真,那么and返回最后一个值。如果布尔上下文中的某个值为假,则and返回第一个假值二、or:复制代码代码如下:>>>'a'or'b''a'>

系统 2019-09-27 17:49:41 2013

Python

使用python将最新的测试报告以附件的形式发到指定邮箱

具体代码如下所示:importsmtplib,email,os,timefromemail.mime.multipartimportMIMEMultipartfromemail.mime.textimportMIMETextfromemail.headerimportHeader#设置smtplib所需的参数smtpserver='smtp.qq.com'#SMTP服务器地址username='xxx@qq.com'#发件人地址,通过控制台创建的发件人地址

系统 2019-09-27 17:49:18 2013

Python

使用python分析统计自己微信朋友的信息

首先,你得安装itchat,命令为pipinstallitchat,其余的较为简单,我不再说明,直接看注释吧。以下的代码我在Win7+Python3.7里面调试通过__author__='YueQingxuan'#-*-coding:utf-8-*-importitchat#hotReload=True可不用每次都去扫描二维码,只需要手机上确认下itchat.auto_login(hotReload=True)#获取好友列表friends=itchat.g

系统 2019-09-27 17:48:55 2013

Python

python uiautomator2 watcher的使用方法

该方是基于uiautomator2如下版本进行验证的:PSC:\windows\system32>pipshowuiautomator2Name:uiautomator2Version:1.2.2Summary:PythonWrapperforAndroidUiAutomator2testtoolHome-page:https://github.com/codeskyblue/uiautomator2Author:codeskyblueAuthor-ema

系统 2019-09-27 17:48:27 2013

Python

基于Python __dict__与dir()的区别详解

Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案。__dict__与dir()的区别:dir()是一个函数,返回的是list;__dict__是一个字典,键为属性名,值为属性值;dir()用来寻找一个对象的所有属性,包括__dict__中的属性,__dict__是dir()的子集;并不是所有对象都拥有__dict__属性。许多内建类型就没有__dict__属性,如list,此时就需要用dir()来

系统 2019-09-27 17:48:14 2013

Python

Python使用稀疏矩阵节省内存实例

推荐系统中经常需要处理类似user_id,item_id,rating这样的数据,其实就是数学里面的稀疏矩阵,scipy中提供了sparse模块来解决这个问题,但scipy.sparse有很多问题不太合用:1、不能很好的同时支持data[i,...]、data[...,j]、data[i,j]快速切片;2、由于数据保存在内存中,不能很好的支持海量数据处理。要支持data[i,...]、data[...,j]的快速切片,需要i或者j的数据集中存储;同时,为了

系统 2019-09-27 17:48:09 2013

Python

Python:logging 的巧妙设计

引言logging的基本用法网上很多,这里就不介绍了。在引入正文之前,先来看一个需求:假设需要将某功能封装成类库供他人使用,如何处理类库中的日志?数年前在一个C#开发的项目中,我用了这样的方法:定义一个logging基类,所有需要用到日志的类都继承这个基类,这个基类中定义一个LogHandler事件,该事件用于实现具体的记录日志动作,同时可以通过将类A的LogHandler委托挂到类B的LogHandler上,实现将两个类的日志信息添加到一起。自从看了py

系统 2019-09-27 17:47:37 2013

Python

python获取list下标及其值的简单方法

当在python中遍历一个序列时,我们通常采用如下的方法:foriteminsequence:process(item)如果要取到某个item的位置,可以这样写:forindexinrange(len(sequence)):process(sequence[index])另一个比较好的方式是使用python内建的enumerate函数:enumerate(sequence,start=0)上述函数中,sequence是一个可迭代的对象,可以是列表,字典,文

系统 2019-09-27 17:46:14 2013

Python

Python中对象迭代与反迭代的技巧总结

一、如何实现可迭代对象和迭代器对象?实际案例某软件要求从网络抓取各个城市气味信息,并其次显示:北京:15~20天津:17~22长春:12~18......如果一次抓取所有城市天气再显示,显示第一个城市气温时,有很高的延时,并且浪费存储空间,我们期望以用时访问的策略,并且把所有城市气温封装到一个对象里,可用for语句进行迭代,如何解决?解决方案实现一个迭代器对象Weatherlterator,next方法每次返回一个城市气温,实现一个可迭代对象Weather

系统 2019-09-27 17:46:12 2013

Python

Python2中的raw_input() 与 input()

这两个均是python的内建函数,通过读取控制台的输入与用户实现交互。但他们的功能不尽相同。举两个小例子。>>>raw_input_A=raw_input("raw_input:")raw_input:abc>>>input_A=input("Input:")Input:abcTraceback(mostrecentcalllast):File"",line1,ininput_A=input("Input:")File"",line1,inNameErro

系统 2019-09-27 17:45:44 2013