zoukankan      html  css  js  c++  java
  • 过滤莫文件夹下所有文件和子文件夹中的文件,并把路径打印出-----面对过程的编程

    import os
    def init(func):
        def wrapper(*args,**kwargs):
            res = func(*args,**kwargs)
            next(res)
            return res
        return wrapper

    @init
    def search(target):
        '找到文件的绝对路径'
       
    while True:
            dir_name = yield
           
    g = os.walk(dir_name)
            for i in g:
                for j in i[-1]:
                    if len(j.split('.'))==1:
                         file_path = '%s\%s'%(i[0],j)
                         #print(file_path)
                        
    target.send(file_path)

    @init
    def opener(target):
        '打开文件,获取文件句柄'
       
    while True:
            file_path = yield
            with
    open(file_path,encoding='utf-8') as f:
                target.send((file_path,f))

    @init
    def cat(target):
        '读取文件内容'
       
    while True:
            file_path,f=yield
            for
    line in f:
                target.send((file_path,line))
               
    @init
    def grep(pattern,target):
        '过滤一行内容中有无Python'
       
    while True:
            file_path,line = yield
            if
    pattern in line:
                target.send(file_path)
               
    @init
    def unrepeat(target):
        '去重相同的文件路径'
       
    file_path_l =''
       
    while True:
            file_path =yield
            if
    file_path !=  file_path_l:
                target.send(file_path)
                file_path_l=file_path

    @init
    def printer():
        '打印文件路径'
       
    while True:
            file_path = yield
           
    print(file_path)

    g = search(opener(cat(grep('error',unrepeat(printer())))))
    g.send('d:\Program Files(x86)\py_fallstack_s4')
  • 相关阅读:
    如何快速生成API并进行测试
    如何开始使用接口自动化测试脚本
    一些网上密码学资源(转载)
    手把手硬件电路详细设计过程(转载)
    触发器(trigger)的作用???
    去面试字节跳动啦!
    2020年白领年终奖报告来了,平均值为7826元
    12 个顶级 Bug 跟踪工具
    接口的幂等性怎么设计?
    魔改一波合成大西瓜!代码已开源~
  • 原文地址:https://www.cnblogs.com/IQ-Python/p/6700335.html
Copyright © 2011-2022 走看看