import os

import functools

def init(func):

@functools.wraps(func) #让warpper的帮助信息同eater相同

def warpper(*args,**kwargs):

'我是warpper函数'

g=func(*args,**kwargs)

next(g)

return g

return warpper

#面向过程的编程

#扩展性差

def get_file(abs_path,target):

'''

生产一个个文件

:param abs_path:传进来的决对路径

:param target: 下一个目标

:return: 返回绝对文件的路径

'''

g=os.walk(abs_path)

for top_dir,current_dir,files in g:

for file in files:

abs_file_path=r'%s\%s' %(top_dir,file)

target.send(abs_file_path)

@init

def opener(target):

'''

打开文件

:return: 返回句柄

:param target 下一个目标

'''

while True:

abs_file_path=yield

with open(abs_file_path) as f:

target.send((f,abs_file_path))

@init

def get_lines(target):

'''

读取每一行的内容

:param target: 下一个目标

:return:返回每一行的内容

'''

while True:

f,abs_file_path=yield

for line in f:

target.send((line,abs_file_path))

@init

def grep(pattern,target):

'''

过滤关键字

:param pattern:匹配关键字

:param target: 下一个目标

:return: 返回文件

'''

while True:

line,abs_file_path=yield

if pattern in line:

target.send(abs_file_path)

@init

def printer():

'''

打印功能

:return:输出信息

'''

while True:

abs_file_path=yield

print(abs_file_path)

get_file(r'D:\test',opener(get_lines(grep('zzl',printer()))))

python是一种面向过程的编程语言_python协成与面向过程编程相关推荐

  1. python是一种面向过程的编程语言_python是面向对象还是面向过程的

    详细内容 Python虽然是解释型语言,但从设计之初就已经是一门面向对象的语言,对于Python来说一切皆为对象.正因为如此,在Python中创建一个类和对象是很容易的,当然如果习惯面向过程或者函数的 ...

  2. python是什么类型的编程语言-python是一种什么类型的编程语言

    Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/)是一种广泛使用的解释型.高级编程.通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年.可以视之为一种改良(加入一些 ...

  3. 已知x=python是一种非常好的编程语言-为什么用Python,高级的Python是一种高级编程语言...

    Python特性 如果有人问我Python最大的特点是什么,我会毫不犹豫地告诉他:它简单易学,功能强大.作为一个纯自由软件,Python有许多优点: 很简单.基于"优雅".&quo ...

  4. python是一种解释类型的编程语言-Python入门你要懂哪些?这篇文章总算讲清楚了...

    原标题:Python入门你要懂哪些?这篇文章总算讲清楚了 作者 | 小土豆Yuki 来源 | 洁癖是一只狗(ID: rookie-dog) 从今天开始学习Python,今后会不定期更新Python的相 ...

  5. python面向过程还是面向对象_python是面向对象还是面向过程?

    python是面向对象的,第一个公开发行版发行于1991年,Python语法简洁而清晰,具有丰富和强大的类库. Python是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum ...

  6. python是一门面向过程的语言_python是面向对象还是面向过程?

    python是面向对象的,第一个公开发行版发行于1991年,Python语法简洁而清晰,具有丰富和强大的类库. Python是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum ...

  7. python是一种动态语言这意味着_Python如何能成为全球最受欢迎的编程语言?该不该学Python?...

    全文共3304字,预计学习时长10分钟 图源:(Python logo courtesy of https 有一种语言在过去十年受喜爱度一路飙升,成为最受欢迎的一种编程语言,它是谁? 千呼万唤始出来, ...

  8. python是一种蟒蛇使用的语言_python树莓派系列教程一:初识大蟒蛇 python(python语言环境搭建篇)...

    作者:剑若游龙微信公众号<科学是什么东东>,欢迎关注 作者微信号,欢迎与我交流 网络爬虫,人工智能,机器学习,如何让计算机理解能力更强,如 何让你手中的机器人更人性化,更聪明? 不管是大人 ...

  9. python是一种什么类型的编程语言-Python这么火,为什么说它不是未来的编程语言?...

    本文转载自公众号"读芯术"(ID:AI_Discovery) Python这两年非常火,随处可见的广告让它逐渐变成了一种老少皆知的存在. 虽然问世几十年后,Python才得到编程社 ...

最新文章

  1. ISME:比较基因组学揭示蓝藻进化和生境适应性特征
  2. ValueError: output array is read-only
  3. event loop、进程和线程、任务队列
  4. 服务拆分-案例Demo
  5. 记录ishield遇到的问题的解决过程
  6. [react] 怎样在react中创建一个事件?
  7. 携程发布2020年财报:四季度营业利润率10% 疫情以来连续两季度盈利
  8. 计算机名字需要加_PC吗,ecs计算机名字
  9. python aop编程_学习笔记: AOP面向切面编程和C#多种实现
  10. mysql关于连接查询
  11. Ubuntu 10.04的安装
  12. R语言处理时间序列数据
  13. pyodbc 操作SQL Server数据库
  14. 【原型】Axure基本入门
  15. Windows 提权
  16. html头像生成器,Personas – 免费的卡通风格头像生成器
  17. 输入文字时自动带空格解决办法
  18. 【强化学习论文合集】十八.2019国际表征学习大会论文(ICLR2019)
  19. 山东大学计算机学院李庆忠,研究生导师李庆忠:山东大学
  20. TextView 字体(TypeFace) 交通灯Led效果

热门文章

  1. 最难忘的一节计算机课,最难忘的一节课作文五篇
  2. android sha1和签名证书的学习
  3. Volley源码学习2--cache类
  4. 魔力Python--if __name__ == '__main__' 的理解
  5. 4.namespace
  6. maven课程 项目管理利器-maven 3-9 maven依赖冲突 4星
  7. 【JAVA面试】java面试题整理(4)
  8. 案例29-购物车提交订单
  9. 【MySQL】添加多个字段
  10. 刷题总结——art2(ssoj)