前言正则表达式就是从字符串中发现规律,并通过“抽象”的符号表达出来。打个比方,对于2,5,10,17,26,37这样的数字序列,如何计算第7个值,肯定要先找该序列的规律,然后用n2+1这个表达式来描述其规律,进而得到第7个值为50。对于需要匹配的字符串来说,同样把发现规律作为第一步,本文主要使用正则表达式完成字符串的查询匹配、替换匹配和分割匹配。常用的正则符号在进入字符串的匹配之前,先来了解一下都有哪些常用的正则符号,见下表所示:如果读者能够比较熟练地掌握
系统 2019-09-27 17:52:54 2222
print("我想打印一个字符串%s"%123)print("我想打印一个字符串",123)print("我想打印一个字符串{}".format(123))这三个输出有什么区别喃?Python中一个数据是否可以迭代(能否使用For)isinstance(需要判断的数据,Iterable)查看返回值,true则可以迭代,false不能迭代。如果创建一个可以迭代的对象?必须实现__iter__()方法在__iter__方法中需要返回一个具有__iter__方法
系统 2019-09-27 17:52:09 2222
对一名开发者来说最糟糕的情况,莫过于要弄清楚一个不熟悉的应用为何不工作。有时候,你甚至不知道系统运行,是否跟原始设计一致。在线运行的应用就是黑盒子,需要被跟踪监控。最简单也最重要的方式就是记录日志。记录日志允许我们在开发软件的同时,让程序在系统运行时发出信息,这些信息对于我们和系统管理员来说都是有用的。就像为将来的程序员写代码文档一样,我们应该让新软件产生足够的日志供系统的开发者和管理员使用。日志是关于应用运行状态的系统文件的关键部分。给软件加日志产生句时
系统 2019-09-27 17:52:07 2222
pika生产者程序大致步骤:1.建立连接connection,需要认证的调用认证参数2.创建通道channel当然channel可以池化,这样可以重复使用3.声明队列指定队列属性,一旦指定属性不能修改,例如是否持久化,名称4.声明交换机交换机类型,名称等,也可以不用声明,直接使用“”空字符串,默认交换机也可以5.将队列与交换机绑定queue_bind6.basic_publish发送到交换机指定路由键pika消费者程序大致步骤:1.建立连接connecti
系统 2019-09-27 17:51:26 2222
最简单的网页取源(不用模拟浏览器的情况)1importrequests2defgetHTML(url):3try:4r=requests.get(url,timeout=30)5r.raise_for_status()6r.encoding='utf-8'7returnr.text8except:9return""10url="http://baidu.com"11print(getHTML(url))
系统 2019-09-27 17:50:19 2222
[外链图片转存中...(img-CUYTKo4b-1568552381026)]总章一.学习前言二.环境搭建三.Python的基本概念一.学习前言很多人在自学Python的时候,总是不知道如何学习,不知道该怎么学,今天看到框架,就想学flask或者其他框架,但是当学的时候又茫然了,不知道怎么学;想学Python,但是又不知道Python就业方向以及前景如何,小编给大家强力推荐一套Python学习方法,只要按照这个方法去学,那么,在和别人同时学习的时候,在同
系统 2019-09-27 17:50:02 2222
OS模块基本操作提供对操作系统进行调用的接口importos#导入模块os.getcwd()#获取当前目录(pwd)os.chdir("/Users")#切换到某个指定的目录(cd/Users)os.curdir#返回当前目录('.'、cd.)os.pardir#返回上级目录('..'、cd..)os.makedirs('dirname1/dirname2')#递归创建目录(mkdir-p)os.removedirs('dirname1/dirname2'
系统 2019-09-27 17:49:12 2222
背景在写代码过程中,如果有频繁重复性的编码操作,或者可以Reuse的各类代码,可以通过Python写一个脚本,自动生成这类代码,就不用每次手写、或者copy了。比如新建固定的代码框架、添加一些既定的软件逻辑,通讯协议、消息模板等等,再编写一套代码时,或者一个Function时,每次使通过脚本一键生成代码,就不需要每次都写一遍了,同时可以把相关软件逻辑放进去,也能避免出错。脚本代码Demo_CodeGenerator.py具体详细代码去掉了,大家想生成什么样
系统 2019-09-27 17:49:10 2222
xml模块处理文档:importxml.etree.ElementTreeasETtree=ET.parse('xmlfile')#ET.parse()解析xml文档root=tree.getroot()#获取根节点print(root.tag)#root.tag获取根节点标签这里是dataforiinroot:print(i.tag)#获取根节点下的标签print(i.attrib)#获取根节点下的标签属性标签>>:country、标签属性>>:{'na
系统 2019-09-27 17:47:56 2222
多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。程序的运行速度可能加快。在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须
系统 2019-09-27 17:46:37 2222