python是一门面向过程的语言_day5-python之面向过程编程

2023-10-26

import os

def init(func):

def wrapper(*args, **kwargs):

g = func(*args, **kwargs)

next(g)

return g

return wrapper

# 第一阶段:找到所有文件的绝对路径

@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' % (pardir, file)

target.send(abspath)

# search(r'C:\Users\Administrator\PycharmProjects\python18期周末班\day5\aaa')

# g=search()

# g.send(r'C:\Python27')

# 第二阶段:打开文件

@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('os'.encode('utf-8'), printer()))))

# g.send(r'C:\Users\Administrator\PycharmProjects\python18期周末班\day5\aaa')

g.send(r'C:\Users\Administrator\PycharmProjects\python18期周末班') ##指定父目录

# a1.txt,a2.txt,b1.txt

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python是一门面向过程的语言_day5-python之面向过程编程 的相关文章

随机推荐

  • 三种方法使用FFmpeg截取视频片断

    如何以 3 种简单的方式使用 FFmpeg 剪切视频 提取 修剪 2020 年 10 月 12 日 Krishna Rao Vijayanagar FFmpeg 在本教程中 我们将了解如何使用 FFmpeg 以 3 种不同的方式剪切 修剪
  • 渗透测试工程师的一些面试题2(同样适合一些刚入门的小白看哦~~~!)

    一 信息收集 服务器的相关信息 真实ip 系统类型 版本 开放端口 WAF等 网站指纹识别 包括 cms cdn 证书等 dns记录 whois信息 姓名 备案 邮箱 电话反查 邮箱丢社工库 社工准备等 子域名收集 旁站 C段等 googl
  • Qt5开发从入门到精通——第一篇概述

    欢迎小伙伴的点评 相互学习 互关必回 全天在线 博主 本着开源的精神交流Qt开发的经验 将持续更新续章 为社区贡献博主自身的开源精神 文章目录 一 什么是 Qt 1 1 Qt 的发展 1 2 Qt 版本说明 1 3 Qt5开发环境简介 二
  • 约瑟夫问题(Java环形列表实现)

    package linkedList public class Joseph public static void main String args CircleLinkList cir new CircleLinkList cir add
  • 陆续收集 UE4 常用的宏的用法

    UPROPERTY EditAnywhere 任何地方 UPROPERTY EditDefaultsOnly 只有在类的编辑界面 UPROPERTY EditInstanceOnly 只有在拖拽到场景下类的编辑界面 UClass meta
  • Linux终端界面的字体颜色设置

    目录 说明 PS1 颜色语法 保存设置 说明 在网上找了好多资料都不是很详细 要不就是语法有错误 所以弄了好久才整明白了 写下来方便后面的人学习 本人Linux虚拟机版本为CentOS 6 5其他的版本的可能又细微区别哈 PS1 PS1是L
  • C++ Primer 学习笔记 第八章 IO库

    C 不直接处理输入输出 而是通过一族定义在标准库中的类型来处理IO 这些类型支持从设备读取数据 向设备写入数据的IO操作 设备可以是文件 控制台窗口等 IO库定义了读写内置类型值的操作 此外 一些类 如string 通常也会定义类似的IO操
  • 自动化测试基础

    1 自动化测试定义 自动化测试就是实用软件来控制测试案例的执行 对测试进行自动化的过程就是写一段代码来代替人工测试 可以分为两种方式 代码驱动测试 通过大量的输入参数和对应的返回结果 来验证类 模块 或者库文件的公共接口是否正确 普遍使用测
  • xss-labs前五关 详细

    其它xss文章 以xss labs举例反射型xss注入的方式及基本思路 xss实验并对注入点 注入语句及危害知识总结 other article to be continue 第一关 lt 1 gt 解法 直接在url栏的name 后输入
  • 钻石基础知识介绍

    钻石参数 4C 最重要的钻石的重量也就是克拉数 克拉数有一个克拉溢价 也就是30分 50分 1克拉 1 5克拉 2克拉 2 5克拉 达到这些阈值的时候 价格会成倍增长 因此对于自己戴的买一些低于阈值的钻石更划算 但是如果想要保值还是尽量买高
  • ARPA x 京东数科:隐私计算如何赋能未来金融数据共享

    数据是现代商业与个人的核心价值与重要资产 数据正在重新塑造人类生活的方方面面 IDC Research统计2019年大数据和分析市场的销售收入约为1870亿美元 跨机构 跨行业的数据融合 联合分析和建模的需求日趋增加 但由于数据本身可复制
  • 快手出海求生

    配图来自Canva可画 随着八月接近尾声 众多上市公司的中期成绩单纷纷出炉 这其中就有视频社区B站 游戏直播斗鱼等内容平台的财报 不过 从其披露的财报中可以看出 如今内容平台的发展都不容乐观 而作为 短视频双雄之一 的快手近期交出的答卷中
  • WebSphere之wasprofile.sh使用

    概要文件 profile 6 0版本以后才有profile 目的是将用户数据和was本身的文件分开 这样可以定义多个profile 每个profile相当于一个用户 相当于提供了多用户的支持 profile的命令说明 新建 wasprofi
  • vue-echarts饼图/柱状图点击事件

    在实际的项目开发中 我们通常会用到Echarts来对数据进行展示 有时候需要用到Echarts的点击事件 增加系统的交互性 一般是点击Echarts图像的具体项来跳转路由并携带参数 当然也可以根据具体需求来做其他的业务逻辑 下面就Echar
  • UGUI—事件,iTween插件

    预计两三天内 做2048游戏和一款自己编写的方块小游戏 期待一下喽 每日一句 游戏制作是声色张扬下我欲盖弥彰的温柔理想 目录 UGUI事件 事件注册 通过编辑器绑定方法 AddListener 实现接口 自定义框架 iTween动画库 自动
  • Vue+Element组件封装

    使用element经常需要用表格展示数据 对表格内容进行分页以及搜索都是比较常见的需求 于是想到了对element进行二次封装 主要涉及的组件有el table el dropdown 控制每页展示条目数 el pagination tab
  • 入坑机器学习:四,单变量线性回归

    开始我们机器学习的第一个算法 还是借用吴老师的例子 这个例子是预测住房价格的 我们要使用一个数据集 数据集包含俄勒冈州波特兰市的住房价格 在这里 我要根据不同房屋尺寸所售出的价格 画出我的数据集 比方说 如果你朋友的房子是 1250 平方尺
  • 面单扫描成本从2元降到1毛,薄利的物流业怎么靠技术赚钱?

    政策春风 又将加速 数字经济 的列车 在未来5 10年间 千行百业将在数字化 智能化的浪潮下重新做一遍 我们愿意成为这一历史阶段的观察者 记录者 探索 数智化 栏目将通过对消费 汽车 制造业 农业 服务业等千行百业的数字化 智能化落地案例
  • 互联网摸鱼日报(2023-03-08)

    互联网摸鱼日报 2023 03 08 InfoQ 热门话题 两会热点讨论 如何帮助中小企业在数字化时代不掉队 转型调研 鼎新汇 企业行 第一站 走进中国联通软件研究院 为什么你的大多数监控策略都失败了 ChatGPT等AI很强大 但为什么还
  • python是一门面向过程的语言_day5-python之面向过程编程

    import os def init func def wrapper args kwargs g func args kwargs next g return g return wrapper 第一阶段 找到所有文件的绝对路径 init