Python常用模組 四

2022-04-19 00:46:58 字數 3398 閱讀 6854

正規表示式時電腦科學的乙個概念,正規表示式通常被用來檢索,替換那些符合某個模式的文字,大多數程式語言都支援利用正規表示式進行字串操作.

正則就是用一些具有特殊含義的符號組合到一起來描述字元或者字串的方法,或者說正則就是用來描述一類事物的規則.它內嵌在python中,並通過re模組來實現,正規表示式模式被編譯成一系列的位元組碼,然後由c編寫的匹配引擎執行.re模組的作用是對字串進行過濾,在一字串中如果想要找到想要得到的內容就需要告知其過濾規則,這個過濾規則就是正規表示式.

常用匹配模式:

待處理字串

str1 = '

abc-d$eaf+ \n 1*/__g12a3'#

findall()在字串中查詢所有滿足條件的

#\w查詢字母數字下劃線 \w查詢非字母數字下劃線

print(re.findall('\w'

,str1))

print(re.findall('\w'

,str1))

#\s查詢所有不可見字元 \s查詢所有可見字元

print(re.findall('\s'

,str1))

print(re.findall('\s'

,str1))

#\d查詢任意數字 \d查詢任意非數字

print(re.findall('\d'

,str1))

print(re.findall('\d'

,str1))#\n

print(re.findall('\n'

,str1))

#.匹配除了換行符的任意字元

print(re.findall('.'

,str1))

#\s\w\d 都是匹配單個字元

#匹配重複字元* + ? {}

#*前面的表示式匹配0次或多次

print(re.findall('

\w\d*

',str1))

#+前面的表示式匹配1次或多次

print(re.findall('

\d+','

1 11 asf 2'))

#?前面的表示式匹配1次或0次

print(re.findall('

\d?','

1 111'))

#最少m次,最多n次

print(re.findall('

\d','

1 12111'))

#必須是m次

print(re.findall('

[a-z]

','aaa aa a aa aaa aaaa'))

#從字元中找到左右的0或1或2

#| 匹配範圍

print(re.findall('

0|1|2

','123af45ad60d21'))

#字元集合 中括號中的符號不是整體是單個字元

print(re.findall('

[012]

','123af45ad60d21'))

#在範圍匹配時使用脫字元表示取反

print(re.findall('

[^0-9]

','123af45ad60d21'))

#請找出所有的數字0-9和字母a-z a-z 注意 減號只有在兩個字元中間才有範圍的意思

print(re.findall('

[0-9a-za-z]

','123+_lk#$a'))

#^ 匹配行首

print(re.findall('

^h','

hellohh'))

#$ 匹配行尾 注意$寫在表示式的後面

print(re.findall('

ha$','

hellohha'))

#\b匹配單詞末尾

print(re.findall(r'

h\b','

elloh wohrld okhi'))

#貪婪匹配 * +

#會一直匹配到不滿足條件為止 用問好來阻止貪婪匹配(匹配最少滿足條件的字元數)

print(re.findall('

\w*?

','sfasdefd'))

src = "

"#()用於給正規表示式分組(group) 不會改變原來的表示式邏輯意義

#優先取出括號內的內容 ?:取消括號的優先順序

print(re.findall("

src='(.+?)'

",src))

subprocess模組是python2.4中新增的乙個模組,它允許你生成新的程序,連線到它們的in/out/err管道,並獲取他們的返回碼.

subprocess模組中常用函式:

subprocess.run()      python 3.5中新增的函式。執行指定的命令,等待命令執行完成後返回乙個包含執行結果的completedprocess類的例項

subprocess.call()      執行指定的命令,返回命令執行狀態,其功能類似於os.system(cmd)。

subprocess.popen()  該類用於在乙個新的程式中執行乙個子程式.上面的函式都是基於subprocess.popen類實現的

例項**:

import

subprocess

res = subprocess.run('

tasklist

',shell=true,stdout=subprocess.pipe)

print(res.stdout.decode('

gbk'

))print

(res.stderr)

#res = subprocess.call('

tasklist

',shell=true)

print

(res)

#第乙個程序a讀取tasklist的內容 將資料交給另乙個程序b 另乙個程序b將資料寫到檔案中

res1 = subprocess.popen('

tasklist

',stdout=subprocess.pipe,shell=true,stderr=subprocess.pipe)

res2 = subprocess.popen('

findstr cmd

',stdout=subprocess.pipe,shell=true,stderr=subprocess.pipe,stdin=res1.stdout)

print(res2.stdout.read().decode('

gbk'))

python 四 常用模組學習

pillow模組 用於影象處理。requests模組 處理網頁鏈結請求響應。res requests.get url params params可選。res requests.post url data json files 分別是引數傳遞 json資料傳遞,和檔案上傳。可選。res.text 獲得...

python 常用模組

1.告訴直譯器 找模組 import sysunix要絕度路徑 只有第一次匯入執行。name main 2.當做包,必須包含乙個命名為 init py的檔案 模組 3.dir看模組裡有什麼 下劃線開始,不是給模組外部用的。過濾 import copy n for n in dir copy if n...

python常用模組

logging 日誌是我們排查問題的關鍵利器,寫好日誌記錄,當我們發生問題時,可以快速定位 範圍進行修改 logging將日誌列印到螢幕,日誌級別大小關係為 critical error warning info debug notset,當然也可以自己定義日誌級別 預設logging預設的日誌級別...