首页 > 代码库 > Python下搜索文件
Python下搜索文件
一个搜索文件的程序,可以选择搜索文件还是目录;也可以选择搜索模式,如果严格模式开启,只能匹配与搜索字相等的文件或者目录,如果不开启,只要一个文件或者目录存在关键词即匹配。
1 #!/usr/bin/python 2 3 import os 4 5 class SearchEngine(): 6 def __init__(self,path): 7 self.path=path 8 9 def search(self,word,Type=‘file‘,strict=False):10 """word:the keyword that you want to search.11 Type:you want to search file or directory.12 strict:if True,filename or directory name must equal to keyword;13 if False,keyword may be a part of a filename or directory name """14 if os.path.isdir(self.path):15 for root,dirs,files in os.walk(self.path):16 if Type==‘file‘:17 for filename in files:18 if strict==False:19 if word in filename:20 print ‘/‘.join([root,filename])21 elif strict==True:22 if word==os.path.splitext(filename)[0]:23 print ‘/‘.join([root,filename])24 else:25 print "strict:False/True"26 elif Type==‘directory‘:27 for dirname in dirs:28 if strict==False:29 if word in dirname:30 print ‘/‘.join([root,dirname])31 elif strict==True:32 if word==dirname:33 print ‘/‘.join([root,dirname])34 else:35 print "strict:False/True"36 37 else:38 print "Type:file/directory"39 else:40 if Type==‘file‘:41 if strict==False:42 if word in self.path:43 print self.path44 elif strict==True:45 if word==os.path.split(self.path)[1]:46 print self.path47 else:48 print "You input a filename,Not matched."49 50 def test():51 search=SearchEngine(‘/home/tmyyss‘)52 search.search(‘test‘,‘file‘,False)53 54 if __name__==‘__main__‘:55 test()
Python下搜索文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。