刚坐在车里就开始电闪雷鸣。听着隆隆的雷声,没有恐慌,到有几分振奋人心的舒心感、酣畅淋漓感。朝外望去,突然间,狂风夹杂着骤雨席卷而来,一泻千里。瞬间暴雨如注,打在地上,溅起朵朵浪花,在热浪的蒸腾下激起层层水雾。满大街是慌乱的人群,行人跑着、叫喊着,唧唧喳喳的赶着在房檐下躲雨。这时候伞是没有用的,挡不住狂风暴雨的袭击,无论是带了伞的,还是没带伞的,全都躲在了房檐下。
编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出绝对路径。
import os class 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文件放到桌面上,因为会遍历桌面上的所有目录及目录下的所有文件,会很大。
以上这篇python 查找文件名包含指定字符串的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。