python之寻找含有关键字文件和删除文件夹

我们往往在操作文件时,会不知道文件具体的路径。一般如果只是处理一个文件的话我们可以在文件所在的文件夹下运行python脚本,默认为当前脚本。而如果一个文件有多层目录结构时,往往这种方法很有局限性。

例如在处理mesaage文件时,先要解压一个压缩文件,其中有两个文件夹,而每个文件夹下的第四层目录中都有一个message文件,现在所要做的就是将每个message文件读入,然后进行分析。

若使用绝对路径去读入文件无疑降低了代码的重用性,所以就写了一个寻找关键字文件的函数。(函数还有很多漏洞,但能解决燃眉之急了。)

#寻找关键字文件

def findfile(keyword,root):

#keyword为关键字,root为文件夹路径

        filelist=[]   #存放每个文件
        rfilelist=[]   #存放匹配文件
        for root,dirs,files in os.walk(root):
                for name in files:

                        filelist.append(os.path.join(root,name))

       #遍历路径文件下的所有文件夹,将所有文件放入filelist

        for i in filelist:
                if os.path.isfile(i):
                        if keyword in os.path.basename(os.path.splitext(i)[0]):
                                rfilelist.append(i)
                        else:
                                pass
                else:
                        pass

        return rfilelist

以上为简单的关键字文件查找。

有时候解压出来的文件会很多,而我们希望获得了有用的数据后,将解压出来的文件再删除掉,所以就有了删除解压文件的函数。

在此处先要导入shutil包

import shutil

#filelist  为解压出来的文件列表

def  delete_unzip(filelist):
        thfile=filelist
        for i in thfile:
                shutil.rmtree(os.path.splitext(i)[0])

 

 

你可能感兴趣的:(python,解压缩)