首页 > 代码库 > python 3 面向过程编程
python 3 面向过程编程
python 3 面向过程编程
核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就像设计好一条工业流水线,是一种机械式的思维方式。
1、优点:程序结构清晰,可以把复杂的问题简单化,流程化。
2、缺点:可扩展性差,改动一个地方很可能要改多个地方,牵一发而动全身。
3、应用场景:linux内核,git,httpd,shell脚本.
grep -rl ‘error‘ /dir/
def init(func): def wrapper(*args,**kwargs): g=func(*args,**kwargs) next(g) return g return wrapper #第一阶段:找到所有文件的绝对路径 import os @init def search(target): while True: filepath=yield g=os.walk(filepath) for pardir,_,files in g: for file in files: abspath=r‘%s\%s‘ %(dirpath,file) target.send(abspath) #第二阶段:打开文件 @init def opener(target): while True: abspath=yield with open(abspath,‘rb‘) as f: target.send((abspath,f)) #第三阶段:循环读出每一行内容 @init def cat(target): while True: abspath,f=yield #(abspath,f) for line in f: res=target.send((abspath,line)) if res:break #第四阶段:过滤 @init def grep(pattern,target): tag=False while True: abspath,line=yield tag tag=False if pattern in line: target.send(abspath) tag=True #第五阶段:打印该行属于的文件名 @init def printer(): while True: abspath=yield print(abspath) g = search(opener(cat(grep(‘error‘.encode(‘utf-8‘), printer())))) g.send(r‘E:\project\PY18\lianxi\111222‘)
python 3 面向过程编程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。