zoukankan      html  css  js  c++  java
  • python实现查找文件夹中文件

    # -*- coding: utf-8 -*-
    import os

    #查找路径
    PATH='D:\\lcc'
    #查找文件名后缀,如果为''则查找所有文件
    SUFFIX = '.c'       #查找.c文件
    #查找的字符串
    STRING = '06'
    #存放文件名的链表
    files = []
    result = []

    def getFiles(path):

        #如果路径不是以\\结尾则补上
        if path[-1:] != '\\':
            path += '\\'

        dirFiles = os.listdir(path)
        for file in dirFiles:
            filePath = path + file
            if os.path.isdir(filePath):
                getFiles(filePath + '\\')
            else:
                if SUFFIX == '' or file[-2:] == SUFFIX:
                    files.append(filePath)

    def findStr(files, str):
        for file in files:
            fp = open(file, 'r')
            lines = fp.readlines()
            cnt = 0
            for line in lines:
                cnt+=1
                if line.find(str) > -1:
                    #print file, ':', cnt , line
                    tmp = (file, cnt, line)
                    result.append(tmp)
            fp.close()

    if __name__ == '__main__':
        getFiles(PATH)
        #print 'files: ',files
        findStr(files, STRING)
        print result

  • 相关阅读:
    hiho#1445 重复旋律5 求子串数量 后缀自动机
    SPOJ LCS2 后缀自动机
    SPOJ-LCS 后缀自动机
    bzoj 3261 最大异或和 可持久化字典树(01树)
    【洛谷1297】单选错位
    【HAOI2008】木棍分割
    【SDOI2016】排列计数
    【HAOI2008】下落的圆盘
    【HAOI2008】硬币购物
    【洛谷5520】青原樱
  • 原文地址:https://www.cnblogs.com/samurail/p/3071492.html
Copyright © 2011-2022 走看看