• Python实现对文件夹内文本文件递归查找


    经常有这样的需求:在一个文本文件里查找特定字符串,这很好实现,用任何文本查看工具几乎都可以做到。而有的时候,想查找一个文件夹下的所有文本文件(特定后缀),我就遇到了这样的问题:想找到Blender的源代码中关于SPH的实现代码。于是写了下面的简单程序:

    复制代码
    #!/usr/bin/env python3
    
    import os
    
    def Search(rootDir, suffixes, arg):   
        for lists in os.listdir(rootDir):       
            path = os.path.join(rootDir, lists)
            if os.path.isfile(path):
                if path.endswith(suffixes):
                    try:
                        with open(path, encoding='utf_8') as fh:
                            lineNum = 0
                            for line in fh:
                                lineNum += 1
                                if arg in line:
                                    print(lineNum, ':', path, '
    ', line)
                            fh.close()
                    except:
                        print('error: ', path, '
    ')
            if os.path.isdir(path):
                Search(path, suffixes, arg)
    
    Search(r'D:lender-2.70', ('.c','.cpp','.h','.hpp'), 'SPH ')
    复制代码

    程序虽小,但很实用,运行结果如下:

  • 相关阅读:
    Vue 路由组件
    编写第一个JavaScript程序
    JavaScript 介绍
    JavaScript
    前台数据库
    cookie
    js date string parse
    判断时间大小 yyyy-MM-dd 格式
    正则表达式替换
    测试计时器
  • 原文地址:https://www.cnblogs.com/zhaolizhe/p/6937983.html
Copyright © 2020-2023  润新知