测试的过程中经常需要截取屏幕,通常的做法是使用手机自带的截屏功能,然后将截屏文件复制出来,这种方法的优点是不需要连接数据线就可截屏,缺点则是生成的截屏文件命名是随机命名的,复制出来也比较麻烦。另一种方法是使用PC端的手机助手类软件。这里使用python编写一个截屏的脚本,双击运行脚本就OK,截屏成功后会将截屏文件已当前时间命名,并保存在存放脚本的当前路径的screenshot文件夹下:#!/usr/bin/envpythonimportosimportti
系统 2019-09-27 17:47:18 1997
Python是一门弱类型语言,很多从C/C++转过来的朋友起初不是很适应。比如,在声明一个函数时,不能指定参数的类型。用C做类比,那就是所有参数都是void*类型!void类型强制转换在C++中被广泛地认为是个坏习惯,不到万不得已是不会使用的。Python自然没有类型强制转换一说了,因为它是动态语言。首先,所有对象都从Object继承而来,其次,它有强大的内省,如果调用某个不存在的方法会有异常抛出。大多数情况,我们都不需要做参数类型栓查,除了一些特殊情况。
系统 2019-09-27 17:47:04 1997
1.简介在编写代码时,往往涉及时间、日期、时间戳的相互转换。2.示例#引入模块importtime,datetime2.1str类型的日期转换为时间戳#字符类型的时间tss1='2013-10-1023:40:00'#转为时间数组timeArray=time.strptime(tss1,"%Y-%m-%d%H:%M:%S")printtimeArray#timeArray可以调用tm_year等printtimeArray.tm_year#2013#转为时
系统 2019-09-27 17:46:52 1997
很多时候可能需要在一个图中画出多条函数图像,但是可能y轴的物理含义不一样,或是数值范围相差较大,此时就需要双y轴。matplotlib和seaborn都可以画双y轴图像。一个例子:importseabornassnsimportmatplotlib.pyplotasplt#ax1forKDE,ax2forCDFf,ax1=plt.subplots()ax1.grid(True)#ax1.set_ylim(0,1)ax1.set_ylabel('KDE')a
系统 2019-09-27 17:46:19 1997
一、如何实现可迭代对象和迭代器对象?实际案例某软件要求从网络抓取各个城市气味信息,并其次显示:北京:15~20天津:17~22长春:12~18......如果一次抓取所有城市天气再显示,显示第一个城市气温时,有很高的延时,并且浪费存储空间,我们期望以用时访问的策略,并且把所有城市气温封装到一个对象里,可用for语句进行迭代,如何解决?解决方案实现一个迭代器对象Weatherlterator,next方法每次返回一个城市气温,实现一个可迭代对象Weather
系统 2019-09-27 17:46:12 1997
数据流转过程除了在类中可以写这种函数之外,在类中还可以写别的函数,延续上一讲的例子:复制代码代码如下:#!/usr/bin/envpython#coding:utf-8classPerson:def__init__(self,name,lang="golang",website="www.google.com"):self.name=nameself.lang=langself.website=websiteself.email="qiwsir@gmail
系统 2019-09-27 17:46:02 1997
前言项目中大量用到图片加载,由于图片太大,加载速度很慢,因此需要对文件进行统一压缩一:导入包fromPILimportImageimportos二:获取图片文件的大小defget_size(file):#获取文件大小:KBsize=os.path.getsize(file)returnsize/1024三:拼接输出文件地址defget_outfile(infile,outfile):ifoutfile:returnoutfiledir,suffix=os.
系统 2019-09-27 17:46:02 1997
本文定位:已将CPU历史数据存盘,等待可视化进行分析,可暂时没有思路。前面一篇文章(//www.jb51.net/article/61956.htm)提到过在linux下如何用python将top命令的结果进行存盘,本文是它的后续。python中我们可以用matplotlib很方便的将数据可视化,比如下面的代码:复制代码代码如下:importmatplotlib.pyplotaspltlist1=[1,2,3]list2=[4,5,9]plt.plot(l
系统 2019-09-27 17:45:54 1997
在程序运行的过程中,所有的变量都是在内存中,比如定义一个dict1={“name”:“zhangsan”,“age”:20},我们对name属性进行修改,改"wangwu",但是一旦程序结束,变量所占用的内存就会被操作系统全部回收,如果没有把修改后的name存储到磁盘上,下次重新运行程序,属性name又会被初始化为"zhangsan"。这时候就会使用到序列化与反序列化,将序列化后的内容写入磁盘,这里会讲到pickle模块与json模块去实现序列化与反序列化
系统 2019-09-27 17:45:52 1997
前言因为有一些网站需要每日检查是否有问题,所以需要一个报警监控的机制,这个需要你指定你发送的邮箱和你接收的邮箱,就可以做到对网站自动监控了。这里用的是python3.5需要安装的插件:1、smtplib:发邮件需要用到2、pycurl:访问网站时会需要用到3、linecache:在读取txt网站清单时需要用到具体思路:python程序从txt里面批量读取到网站的信息,通过Curl.py模拟浏览器去访问网站,并且把访问的结果写入到以自己的网站名称-日期.tx
系统 2019-09-27 17:38:41 1997