编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出绝对路径。
- 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 查找文件名包含指定字符串的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
联系客服