首页 > 代码库 > 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下搜索文件