python 查找文件名包含指定字符串

来源:互联网 发布:网络安全检查责任书 编辑:程序博客网 时间:2024/05/16 05:45

编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出绝对路径。

import osclass  SearchFile(object):    def __init__(self,path='.'):        self._path=path        self.abspath=os.path.abspath(self._path) # 默认当前目录    def findfile(self,keyword,root):        filelist=[]        for root,dirs,files in os.walk(root):            for name in files:                                fitfile=filelist.append(os.path.join(root, name))                #print(fitfile)                print(os.path.join(root, name))        #print(filelist)        print('...........................................')        for i in filelist:                        if os.path.isfile(i):                #print(i)                if keyword in os.path.split(i)[1]:                     print('yes!',i)    # 绝对路径                #else:                    #print('......no keyword!')    def __call__(self):        while True:            workpath=input('Do you want to work under the current folder? Y/N:')            if(workpath == ''):                break            if workpath=='y' or workpath=='Y':                root=self.abspath   # 把当前工作目录作为工作目录                print('当前工作目录:',root)                dirlist=os.listdir()  # 列出工作目录下的文件和目录                print(dirlist)            else:                root=input('please enter the working directory:')                print('当前工作目录:',root)            keyword=input('the keyword you want to find:')            if(keyword==''):                  break            self.findfile(keyword,root)  # 查找带指定字符的文件if __name__ == '__main__':    search = SearchFile()    search()

运行结果:
这里写图片描述

这里写图片描述
这里写图片描述

注意:在运行的时候如果选择y,也就是把.py文件所在的目录作为工作目录,此时最好不要把.py文件放到桌面上,因为会遍历桌面上的所有目录及目录下的所有文件,会很大。

阅读全文
2 0
原创粉丝点击