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')
  • 相关阅读:
    vue跨域,复杂请求,后端为beego
    vue单页应用中,使用setInterval()定时向服务器获取数据,后来跳转页面后,发现还在不停的获取数据。
    vue中使用watch函数,当数据改变时自动引发事件
    如何更改github工程的语言属性
    FreeMarker如何输出特殊含义字符
    我的github代码库
    热烈庆祝开博
    Oracle的中文排序问题
    MySQL出现时区错误的解决方法
    java调用7zip解压压缩包
  • 原文地址:https://www.cnblogs.com/IQ-Python/p/6700335.html
Copyright © 2011-2022 走看看