Pexpect是Expect语言的一个Python实现,是一个用来启动子程序,并使用正则表达式对程序输出做出特定响应,以此实现与其自动交互的Python模块。Pexpect的使用范围很广,可以用来实现与ssh、ftp、telnet等程序的自动交互;可以用来自动复制软件安装包并在不同机器自动安装;还可以用来实现软件测试中与命令行交互的自动化。整体来说大致的流程包括:运行程序程序要求人的判断和输入Expect通过关键字匹配根据关键字向程序发送符合的字符基本使用
系统 2019-09-27 17:57:09 2155
#-*-coding:utf-8-*-classSuperTupl(tuple):defto_lis(self):returnlist(self)defto_dic(self,set_key=0):a={str(val[set_key]):valforvalinself}returnSuperDic(**a)classSuperDic(dict):defclean(self,key):"""d=SuperDic(a=1,b=2,c=3)print(d.cl
系统 2019-09-27 17:55:31 2155
转载自我自己的github博客——>半天钟的博客元编程相关博文的目录及链接这篇博文是元编程系列博文中的其中一篇、这个系列中其他博文的目录和连接见下:使用python特性管理实例属性浅析python属性描述符(上)浅析python属性描述符(下)python导入时与运行时python元编程之动态属性python元编程之类元编程Review在上一篇博文中、我们使用python特性(property)管理了实例属性,最大的好处是:在使用property装饰器后,
系统 2019-09-27 17:53:35 2155
详细见我的个人博客:Ubuntu安装Python3.6Ubuntu16.04下默认系统自带Python2和Python3.5的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3.6那么我们知道编译安装源码包和系统默认包之间是没有任何影响的。一、下载tar包首先去Python官网下载Python3的源码包,网址:https://www.python.org/downloads/release/python-365/进去之后点击导
系统 2019-09-27 17:52:58 2155
小白入门级爬虫创建Scrapy框架:使用PyCharmIDE可以快速的创建python项目集成了大量的插件供我们一键式使用快速添加依赖库例子:快速创建Scrapy项目安装PyCharm这个安装不是本文重点我就直接跳过了!!!!!!创建项目:PycharmIDE给我们集成了Virtualenv插件来创建项目的虚拟目录venv目录使用PycharmIDE创建的项目都会含有venv这个虚拟项目就像项目的依赖库一样项目创建完成后:使用PyCharmIDE快速安装库
系统 2019-09-27 17:51:52 2155
和其他语言不一样,传递参数的时候,python不允许程序员选择采用传值还是传引用。Python参数传递采用的肯定是“传对象引用”的方式。实际上,这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值--相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象--相当于通过“传值'来传递对象。python一般内部赋值变量的话,都是传个引用
系统 2019-09-27 17:51:23 2155
情景:我用python爬取了很多.ts的文件,他们是一个个只有几秒的短视频,现在想把它们合并成一个电影:合并的命令copy/b*.tsnew_name.mp4/b是以二进制的形式合并:现在我要执行的命令为:copy/bD:\pythonFetch\movie\20190905\*.tsD:\pythonFetch\movie\20190905\new.mp4及将D:\pythonFetch\movie\20190905\文件夹下所有的.ts后缀的文件以二进
系统 2019-09-27 17:50:37 2155
目录1、常见并发类型2、同步版本3、多线程4、异步IO5、多进程6、总结1、常见并发类型I/O密集型:蓝色框表示程序执行工作的时间,红色框表示等待I/O操作完成的时间。此图没有按比例显示,因为internet上的请求可能比CPU指令要多花费几个数量级的时间,所以你的程序可能会花费大部分时间进行等待。CPU密集型:IO密集型程序将时间花在cpu计算上。常见并发类型以及区别:2、同步版本我们将使用requests访问100个网页,使用同步的方式,request
系统 2019-09-27 17:50:10 2155
1、需求我们想对字符串中的文本做查找和替换。2、解决方案对于简单的文本模式,使用str.replace()即可。例如:text='mark,帅哥,18,183帅,mark'print(text.replace('18','19'))print(text)运行结果:mark,帅哥,19,193帅,markmark,帅哥,18,183帅,mark针对更为复杂的模式,可以使用re模块中的sub()函数。实例:将日期格式从“11/28/2018”改为“2018-1
系统 2019-09-27 17:49:23 2155
简述在大多数此类教程中都会不遗余力的介绍如何使用数据库。今天我们对数据库暂且不表,而是来关注另一个在web应用中很重要的特性:如何推送邮件给用户。在某个轻量级应用中我们可能会添加一个如下的邮件服务功能:当用户有了新的粉丝后,我们发送一封邮件通知用户。有很多方法可以实现这个特性,而我们希望提供出一种可复用的通用框架来处理。Flask-Mail介绍对于我们来说是幸运的,现在已经有很多外部插件来处理邮件,虽说不能百分百按照我们的想法去处理,但已经相当接近了。在虚
系统 2019-09-27 17:48:57 2155