標籤:false nbsp com grep imp get 可擴充 pattern 面向
面向過程:核心是面向過程,過程即解決問題的步驟,基於面向過程去設計程式,就像是在設計流水線
#優點:程式結構清晰,可以把複雜的問題簡單化,流程化
#缺點:可擴充性差,一條流水線只是用來解決一個問題
os模組功能展示:
#Author wangmengzhu#裝飾器def init(func): def wrapper(*args,**kwargs): g = func(*args,**kwargs) next(g) return g return wrapper#第一階段,找到所有檔案的絕對路徑import os@initdef search(target): while True: filepath = yield g = os.walk(filepath) for dirpath,_,files in g: for file in files: abspath = r‘%s\%s‘%(dirpath,file) target.send(abspath)#第二階段,開啟檔案@initdef opener(target): while True: abspath = yield with open(abspath) as f: target.send((abspath,f))#第三階段,迴圈讀出每一行的內容@initdef cat(target): while True: abspath,f = yield for line in f: res = target.send((line,abspath)) if res: break#第四階段,過濾@initdef grep(pattern,target): tag = False while True: line,abspath = yield tag tag = False if pattern in line: target.send(abspath) tag = True#第五階段@initdef printer(): while True: abspath = yield print(abspath)g = search(opener(cat(grep(‘error‘,printer()))))g.send(r‘C:\Users\wangmengzhu\PycharmProjects\MZ\a‘)
Python__面向過程編程