Python

python 自定义装饰器实例详解

本文实例讲述了python自定义装饰器。分享给大家供大家参考,具体如下:先看一个例子defdeco(func):print("beforemyfunc()called.")func()print("aftermyfunc()called.")returnfunc@decodefmyfunc():print("myfunc()called.")#myfunc=deco(myfunc)#与上面的@deco等价myfunc()print("***********

系统 2019-09-27 17:47:58 2074

Python

Python:logging 的巧妙设计

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

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

Python

使用python编写android截屏脚本双击运行即可

测试的过程中经常需要截取屏幕,通常的做法是使用手机自带的截屏功能,然后将截屏文件复制出来,这种方法的优点是不需要连接数据线就可截屏,缺点则是生成的截屏文件命名是随机命名的,复制出来也比较麻烦。另一种方法是使用PC端的手机助手类软件。这里使用python编写一个截屏的脚本,双击运行脚本就OK,截屏成功后会将截屏文件已当前时间命名,并保存在存放脚本的当前路径的screenshot文件夹下:#!/usr/bin/envpythonimportosimportti

系统 2019-09-27 17:47:18 2074

Python

python之带参的装饰器

在带有参数的的函数进行装饰时defpri(func):defone(*a,**b):#这里要带参func(*a,**b)#这里也要带参returnone@prideftest(*a,**b):#不定长参数print(a,b)test(1,2,a=2)对有返回值的函数进行装饰时defpri(func):defone():returnfunc()#要将func()返回returnone@prideftest():returnTrueprint(test())带

系统 2019-09-27 17:46:29 2074

Python

python自动化测试之DDT数据驱动的实现代码

时隔已久,再次冒烟,自动化测试工作仍在继续,自动化测试中的数据驱动技术尤为重要,不然咋去实现数据分离呢,对吧,这里就简单介绍下与传统unittest自动化测试框架匹配的DDT数据驱动技术。话不多说,先撸一波源码,其实整体代码并不多#-*-coding:utf-8-*-#ThisfileisapartofDDT(https://github.com/txels/ddt)#Copyright2012-2015CarlesBarrobésandDDTcontri

系统 2019-09-27 17:46:08 2074

Python

Python过滤函数filter()使用自定义函数过滤序列实例

filter函数:filter()函数可以对序列做过滤处理,就是说可以使用一个自定的函数过滤一个序列,把序列的每一项传到自定义的过滤函数里处理,并返回结果做过滤。最终一次性返回过滤后的结果。filter()函数有两个参数:第一个,自定函数名,必须的第二个,需要过滤的列,也是必须的DEMO需求,过滤大于5小于10的数:复制代码代码如下:#coding=utf8#定义大于5小于10的函数defguolvhanshu(num):ifnum>5andnum<10:

系统 2019-09-27 17:46:02 2074

Python

python+openCV利用摄像头实现人员活动检测

本文实例为大家分享了python+openCV利用摄像头实现人员活动检测的具体代码,供大家参考,具体内容如下1.前言最近在做个机器人比赛,其中一项要求是让机器人实现对是否有人员活动的检测,所以就先拿PC端写一下,准备移植到机器人的树莓派。2.工具工具还是简单的python+视觉模块openCV,代码量也比较少。很简单就可以实现3.人员检测的原理从图书馆借了一本《特征提取与图像处理(第二版)》,是MarkS.Nixon和AlbertoS.Aguado写的,其

系统 2019-09-27 17:45:53 2074

Python

Python 实现堆排序

#堆排序defheap_sort(arr):root=len(arr)//2-1while(root>=0):heap_adjust(arr,root,len(arr)-1)root=root-1#此时生成的大顶堆,满足每个根节点为子树中最大,因此,之后只需要对最顶的子树进行调整i=len(arr)-1whilei>=0:arr[0],arr[i]=arr[i],arr[0]heap_adjust(arr,0,i-1)i=i-1defheap_adjust

系统 2019-09-27 17:45:50 2074

Python

python进度条

最近写的代码中写了很多函数,都是按步骤调用的,想看代码执行到第几个函数了,但又不想在每个函数中打印来表示执行到哪了,这时候就想用进度条来显示了,看网上没有我这种思路来实现的,自己来写个importtimeimporttqdmdefwork1():time.sleep(1)defwork2():time.sleep(1)defwork3():time.sleep(1)defwork4():time.sleep(1)defwork5():time.sleep(

系统 2019-09-27 17:45:25 2074

Python

python xml.etree.ElementTree遍历xml所有节点实例

pythonxml.etree.ElementTree遍历xml所有节点XML文件内容:代码:#-*-coding:UTF-8-*-#从文件中读取数据importxml.etree.ElementTreeasET#全局唯一标识unique_id=1#遍历所有的节点defwalkData(root_node,level,result_list):globalunique_idtemp_list=[unique_id,level,root_node.tag,r

系统 2019-09-27 17:38:43 2074

Python

举例讲解Python程序与系统shell交互的方式

概述考虑这样一个问题,有hello.py脚本,输出”hello,world!”;有TestInput.py脚本,等待用户输入,然后打印用户输入的数据。那么,怎么样把hello.py输出内容发送给TestInput.py,最后TestInput.py打印接收到的”hello,world!”。下面我来逐步讲解一下shell的交互方式。hello.py代码如下:#!/usr/bin/pythonprint"hello,world!"TestInput.py代码如

系统 2019-09-27 17:38:38 2074

Python

python框架django基础指南

Django简介:Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。不过在Django实际使用中,Django更关注的是模型(Model)、模板(Template)和视图(Views),称为MTV模式。Django的主要目的是简便、快速的开发数据库驱动的网站,它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件。django是对象关系映射

系统 2019-09-27 17:38:23 2074

Python

跟老齐学Python之让人欢喜让人忧的迭代

哦,这就是真正牛X的程序员。不过,他也仅仅是牛X罢了,还不是大神。大神程序员是什么样儿呢?他是扫地僧,大隐隐于市。先搞清楚这些名词再说别的:循环(loop),指的是在满足条件的情况下,重复执行同一段代码。比如,while语句。迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项。比如,for语句。递归(recursion),指的是一个函数不断调用自身的行为。比如,以编程方式输出著名的斐波纳契数列。遍历(traversal),指的是按照一定的规则

系统 2019-09-27 17:38:16 2074

Python

Python六大开源框架对比

Python是一门动态、面向对象语言。其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性。除了语言本身的设计目的之外,Python标准库也是值得大家称赞的,Python甚至还自带服务器。其它方面,Python拥有足够多的免费数据函数库、免费的Web网页模板系统、还有与Web服务器进行交互的库、这些都可以设计到你的Web应用程序里面。回顾基于Python的6大Web应用框架:1.Zope2Zope2是一款基于Python的Web应用框架

系统 2019-09-27 17:38:06 2074

Python

聊聊 Python 的单元测试框架(二):nose 和它的继任者 nose2

作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article一、nosenose是一个第三方单元测试框架,它完全兼容unittest,并且号称是一个更好用的测试框架。那么nose除了具备unittest的所有功能外,还具有哪些优势呢?1.1用例编写用例的编写方式除了编写继承于unittest.TestCase的测试类外,还可以编

系统 2019-09-27 17:54:38 2073