python全栈脱产第20天------常用模块---re模块和subprocess模块

一、re模块

  定义:正则表达式子,就是一些带有特殊含义的符号或者符号的组合

  用途:对字符串进行过滤,找到你需要的内容,通过正则表达式告诉计算机你的过滤规则是什么样的

  语法:\w字母数字下划线  \W非字母数字下划线

     \s所有不可见的字符(空格、\n、\r等)  \S所有可见字符

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

     .出\n意外任意字符  以上都是匹配单个字符

     *前面的表达式出现任意次  +重复1次或多次  ?重复0次或1次  {m,n}最少出现m次,最多出现n次  {m}必须出现m次  {,m}最大m次

     |或  []字符集合  ^匹配行首  $匹配行末

     ?:取消组名  +?只取1次  *?只取0次  ??只取0次  ()分组

  方法:findall:从左到右查找所有满足匹配的字符,返回一个列表

     search:从左到右查找第一个满足匹配的字符串,结果封装成对象 span=(0,5)匹配的位置

     match:匹配行首,返回值与search相同  匹配结果通过group来获取

     compile:将正则表达式封装成一个正则对象,可以重复使用这个表达式

二、subprocess模块

  定义:子进程:进程就是正在进行中的程序,每当打开一个程序就会开启一个进程,正常情况下不可以跨进程访问数据,当有需要时,通过一个叫管道的对象,来跨进程通讯

  用途:用于执行系统命令

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

     call  返回的执行的状态码

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

     subprocess执行指令时,可以在子进程中,这样可以避免主进程卡死

      注意:管道的read方法和文件的read有相同的问题,read后光标会到文件的末尾,导致第二次无法read到数据

    

posted on 2018-08-14 21:04  周毅  阅读(97)  评论(0编辑  收藏  举报