subprocess模块
sub 子 p
rocess 进程
什么是进程
正在进行中的程序 每当打开一个程序就会开启一个进程
每个进程包含运行程序所需的所有资源 正常情况下 不可以跨进程访问数据
但是有些情况写就需要访问别的进程数据 提供一个叫做管道的对象 专门用于跨进程通讯
作用:用于执行系统命令
常用方法
run 返回一个表示执行结果的对象
call 返回的执行的状态码
总结 subprocess的好处是可以获取指令的执行结果
subprocess执行指令时 可以在子进程中 这样避免造成主进程卡死
re模块常用方法
findall 从左往右查找所有满足条件的字符 返回一个列表
search 返回第一个匹配的字符串 结果封装为对象 span=(0, 5) 匹配的位置 match匹配的值
match 匹配行首 返回值与search相同
对于search match 匹配的结果通过group来获取
compile 将正则表达式 封装为一个正则对象 好处是可以重复使用这个表达式
RE是什么
正则 表达 式子
就是一些带有特殊含义的符号或者符号的组合
它的作用是对字符串进行过滤
在一堆字符串中找到你所关心的内容
你就需要告诉计算机你的过滤规则是什么样 通过什么方式来告诉计算机 就通过正则表达式
第一步 学习正则表达式 各种符号所表示的含义
re模块的内部实现 不是python 而是调用了c库
w字母数字下划线 W非字母数字下划线 与前面相反
s 所有不可见字符 S 可见字符
d 所有数字 D所有非数字
. 除了
以外任意字符
s w d . 都是匹配单个字符
匹配重复字符 * + ? {}
* 前面的表达式出现任意次
+重复1次或多次
?表示重复0次或1次
{m,n} 最少m次 最多n次
{m} 必须是m次
{,m} 最大m次 0-m
^ 匹配行首
$ 匹配行未 注意写在表达式后面
单词边界 指的是单词的末尾
贪婪匹配 * + 不是固定的特殊符号 只是一种现象
会一直匹配到不满足条件为止 用问号来阻止贪婪匹配(匹配最少满足条件的字符数)说明时候需要阻止贪婪
() 用于给正则表达式分组(group) 不会改变原来的表达式逻辑意义
效果 优先取出括号内的内容