Python学习之路_day_19(常用模块3)

1、re模块

Python正则表达式:

原始字符串:

原始字符串形式是在普通字符传文字量前加r或R前缀,例如:

R’abcdefg’

r’C:\course\python\progs’

原始字符串只有一点特殊,就是其中的反斜线字符’\’不作为转义符,在相应的字符串对象里保留原样.单位于单引号和双引号前的反斜线符号仍作为转义符.

元字符(特殊字符)

正则表达式包规定了一组特殊字符,称为元字符.在匹配字符串时,它们起着特殊的作用.这种字符一共有14个:

. ^ $ * + ? \ {} [] ()

主要操作:

在下面的函数说明中,参数里的pattern表达模式串(描述正则表达式的字符串),string表示被处理的字符串,repl表示替换串,既操作中的另一个字符串.

  1. 生成正则表达式对象:re.compile(pattern,flag=0)

r1 = re.compile(‘abc’)

  1. 检索:re.search(pattern,string,flag=0)

在string里检索与pattern匹配的子串.如果找到就返回一个match类型的对象;否则返回None。match对象里记录成功匹配的相关信息,可以根据需要检查和使用。也可以把match对象简单作为真值用于逻辑判断。

  1. 匹配:re.match(pattern,string,flag=0)

检查strings是否存在一个与pattern匹配的前缀。匹配成功时返回相应的match对象,否则返回None。例如:

re.search(r1, ’aaabcbcbabcb’) #将匹配成功

re.match(r1, ’aaabcbcbabcb’) #返回None

  1. 分隔:re.split(pattern,string,maxspilt=0,flags=0)

以pattern作为分隔串将string分段.参数maxsplit指明最大分隔数,用0表示要求处理完整个string.函数返回值分隔得到的字符串的表.例如:

re.split(‘ ‘,’abc abb are not the same’)

得到:[‘abc’,  ‘abb’, ‘are’, ‘not’, ‘the’, ‘same’]

re.split(‘’, ‘1 2  3    4’)#分隔出了几个空串

得到:[‘1’, ‘2’, ‘’, ‘3’, ’’, ‘’, ‘4’]

  1. 找出所有匹配串:re.finadall(pattern, string, flag=0)

返回一个表,表中元素是按顺序给出的string里与pattern匹配的各个子串(从左到右,非重叠的).如果模式里只有常规字符,做这种匹配的价值不大,因为结果里的所有字符串相同.但用一般的正则表达式,情况就可能不同.

 

  1. subprocess模块

 

sub 子

process 进程

 

表示正在进行的进程,没当打开一个程序就会开启一个进程

每个进程包含进行程序所需要的所有资源

正常情况下,不可以跨进进程访问数据

但是有些情况就需要访问别的进程数据

提供一个叫做管道的对象,专用于跨进程通讯

 

作用:用于执行系统命令

 

常用方法:

run 返回一个表示执行结果的对象

call 返回的执行的状态码

总结: subprocess的好处是可以获取指令的执行结

subprocess执行指令时,可以在进程中

 

 

猜你喜欢

转载自www.cnblogs.com/zjh009/p/9475578.html
今日推荐