python基礎之re,sys,suprocess模塊

re 正則表達式python

1.什麼是正則?正則表達式

       正則就是用一系列具備特殊含義的字符組成的規則,該規則用來描述具備某一特徵的字符串。shell

         正則就是用來在一個大的字符串匹配出符合規則的子字符串命令行

2.爲何用正則?code

         正則能夠用來檢驗用戶註冊的合法性,能夠爬蟲等等對象

3.如何使用正則?blog

         \w 匹配字母、數字、下劃線           \W 匹配非字母數字下劃線的字符進程

         \s 匹配空白字符(\t,\n,\r,\f)          \S 匹配非空白字符字符串

         \d 匹配數字0-9                              \D 匹配非數字cmd

         \n 匹配換行符                                \t  匹配製表符

         ^ 匹配字符開頭                              $  匹配字符末尾

         重複匹配

         . 匹配任意一個字符,若加上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('\r%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'))
相關文章
相關標籤/搜索