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')
  • 相关阅读:
    windows7 gvim 配置(好用)
    程序员的惰性
    java性能提升
    spring cloud gateway 负载均衡流程
    广告业务
    mysql二进制binarylog监控服务
    虽然垃圾,以后用得到在翻一翻,优化下
    hash冲突后处理
    jdk1.6乃至1.7中的Iepoll空轮询bug,netty中是怎样解决的
    树形结构
  • 原文地址:https://www.cnblogs.com/IQ-Python/p/6700335.html
Copyright © 2011-2022 走看看