Python入门学习 DAY20 (re模块\subprocess)

Python入门学习

DAY20

今日内容: re模块    subprocess

re模块(正则表达式)

1.什么是正则

就是一些带有特殊含义的符号或者符号的组合 它的作用是对字符串进行过滤

2.常用匹配模式

\w 匹配字母数字下划线       \W 匹配非字母数字下划线

\s  匹配所有不可见字符       \S 匹配所有可见字符

\d 匹配所有数字                  \D 匹配所有非数字

. 点 匹配任意字符 除了\n

+ 重复一次或者多次             ? 表示重复0次或 1次

{m,n} 最少m次,最多n次       {m} 必须是m次         {,m} 最大m次

特殊字符直接匹配

列:  print(re.findall('\n',src))               print(re.findall('\t',src))

a|b    匹配a或者b   

^ 匹配行首 在范围匹配时使用脱字符表示取反

$ 匹配行尾 注意:写在表达式后面

3.re模块常用方法
    findall     从左往右查找所有满足条件的字符  返回一个列表
    search    返回第一个匹配的字符串  结果封装为对象 span=(0, 5) 匹配的位置 match匹配的值
    match     匹配行首  返回值与search相同
        对于search  match 匹配的结果通过group来获取
    compile  将正则表达式 封装为一个正则对象 好处是可以重复使用这个表达式

subprocess

1.什么是subprocess模块
        sub       子
        process  进程
  什么是进程
        正在进行中的程序   每当打开一个程序就会开启一个进程
        每个进程包含运行程序所需的所有资源
        正常情况下 不可以跨进程访问数据
        但是有些情况写就需要访问别的进程数据   提供一个叫做管道的对象 专门用于跨进程通讯

        作用:用于执行系统命令

2.常用方法
        run     返回一个表示执行结果的对象
        call    返回的执行的状态码

    总结  subprocess的好处是可以获取指令的执行结果
             subprocess执行指令时 可以在子进程中 这样避免造成主进程卡死

#  第一个进程a读取tasklist的内容   将数据交给另一个进程b  进程b将数据写到文件中
res1 =subprocess.Popen("tasklist",stdout=subprocess.PIPE,shell=True,stderr=subprocess.PIPE)
res2 = subprocess.Popen("echo >a.txt", stdout=subprocess.PIPE, shell=True,stderr=subprocess.PIPE,stdin=res1.stdout)
print(res2.stdout.read().decode("gbk"))

以上为本次学习内容

猜你喜欢

转载自blog.csdn.net/sql121407/article/details/81674325
今日推荐