【python练习--os库】给出指定路径及模糊的文件名或后缀查找文件

import os
class Finder():
    def __init__(self,path = '',sign = ''):
        self.filePath = path #入参,指定的路径
        self.nameSign = sign #入参,文件名上要匹配的关键字
        self.allFileList = [] #指定目录下的全部文件名
        self.desFileList = [] #找到的文件名

    #提取指定路径下的所有文件到allFileList列表
    def GetAllFileList(self,fullname = ''):
        #是文件则添加到allFileList列表
        if os.path.isfile(fullname):
            self.allFileList.append(fullname)
        #是文件夹则打开文件夹继续往下查找
        else:
            filelisttmp = os.listdir(fullname)
            for i in filelisttmp:
                fullnametmp = (os.path.join(fullname,i))
                self.GetAllFileList(fullnametmp)
        return self.allFileList
    
    #提取目标文件到desFileList列表
    def GetDesFile(self,filelist = [], namesign = ''):
        for i in filelist:
            filename = os.path.basename(i)
            if filename.upper().find(namesign.upper()) >=0:
                self.desFileList.append(i)
    
    #输出文件
    def doFind(self):
        self.GetAllFileList(self.filePath)
        self.GetDesFile(self.allFileList,self.nameSign)
        for i in self.desFileList:
            print(i)

if __name__=='__main__':
    fd = Finder('D:\\file\\python','py')
    fd.doFind()

你可能感兴趣的:(python,Python,os库的应用练习,文件查找)