• python基础之re,sys,suprocess模块


    re 正则表达式

    1.什么是正则?

           正则就是用一系列具有特殊含义的字符组成的规则,该规则用来描述具有某一特征的字符串。

             正则就是用来在一个大的字符串匹配出符合规则的子字符串

    2.为什么用正则?

             正则可以用来检验用户注册的合法性,可以爬虫等等

    3.如何使用正则?

             w 匹配字母、数字、下划线           W 匹配非字母数字下划线的字符

             s 匹配空白字符( , , ,f)          S 匹配非空白字符

             d 匹配数字0-9                              D 匹配非数字

             匹配换行符                                  匹配制表符

             ^ 匹配字符开头                              $  匹配字符末尾

             重复匹配

             . 匹配任意一个字符,若加上re.DOTALL则可以匹配换行符

             [] 匹配一个,该字符属于中括号中指定的字符

             [a-z] 代表a-z所有的小写字母

             [^] 代表取反     []内有特殊意义的字符如-需要取义

             以下必须与其它字符连用:

             * 表示出现0次或无穷次

             ? 表示左侧的字符出现0次或者1次

             + 表示左侧的字符出现1次或者无穷次

             {1,3} 表示左侧的字符至少出现一次,最多3次

             .* 贪婪匹配                   .*?非贪婪匹配

             分组() 正常匹配,最后取到组内的值

             a|b  匹配a或b

             (?:) 正常匹配,但不是只取组内的值

            

             findall  返回所有在[]内的值

             search  匹配一个,返回一个对象,不存在则返回none

             加.group()  返回值

             match() 与search一样,但从头开始

             split()  与字符串的类似

             sub(‘原’,‘现’,‘str’,个数)

             compile  存正则表达式,便于重复使用

    sys模块

    sys.argv           命令行参数List,第一个元素是程序本身路径

    sys.exit(n)        退出程序,正常退出时exit(0)

    sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

    打印进度条方法:

    import sys
    import time
    
    def progress(percent,width=50):
        if percent >= 1:
            percent=1
        show_str=('[%%-%ds]' %width) %(int(width*percent)*'#')
    print('
    %s %d%%' %(show_str,int(100*percent)),file=sys.stdout,flush=True,end='')
    
    data_size=1025
    recv_size=0
    while recv_size < data_size:
        time.sleep(0.1) #模拟数据的传输延迟
        recv_size+=1024 #每次收1024
    
        percent=recv_size/data_size #接收的比例
    progress(percent,width=70) #进度条的宽度70
    

    suprocess模块

    import subprocess
    obj = subprocess.Popen(
        'tasklist',     # 进程表
        shell= True,    # 用于打开cmd
        stdout = subprocess.PIPE,    # 正确管道
        stderr = subprocess.PIPE    # 错误管道
    )
    info = obj.stdout.read()
    print(info.decode('GBK'))
    

      

  • 相关阅读:
    lua判断字符串包含另一个字符串
    expect使用技巧
    Linux expect
    expect正则捕获返回结果
    修改alpine Linux的Docker容器的时区
    Dockerfile镜像优化,减小镜像
    Sed在匹配行前后加入一行
    scp的使用以及cp的对比
    rsync 的用法
    傅里叶系列(一)傅里叶级数的推导 (转)
  • 原文地址:https://www.cnblogs.com/luck-L/p/9210833.html
Copyright © 2020-2023  润新知