遍歷文件夾查找某個關鍵詞

import sys,os
 
filterType = ['gif','png','bmp','jpg','jpeg','rar','zip',
            'ico','apk','ipa','doc','docx','xls','jar',
            'xlsx','ppt','pptx','pdf','gz','pyc','class']
 
num = 0
 
def search(path=None,cont=None):
    if not path or not cont:
        print('path or searchString is empty')
        return
    global num
    _loopFolder(path,cont)
    print("%s file find" % num)
 
def _loopFolder(path,cont):
    arr = path.split('/')
    if not arr[-1].startswith('.'): 
        if os.path.isdir(path):
            folderList = os.listdir(path)
            for x in folderList:
                _loopFolder(path+"/"+x,cont)
        elif os.path.isfile(path):
            _verifyContent(path,cont)
 
def _verifyContent(path,cont):
    if path.split('.')[-1].lower() in filterType:
        return
    global num
    fh = open(path,'r')
    fhContent = fh.readlines()
    fh.close()
    for index,x in enumerate(fhContent):
        if cont in x:
            num += 1
            print("%s    %s" % (path,index+1))
            break
    return
 
 
if __name__ == "__main__":
    if len(sys.argv) < 3:
        print("invalid parameters")
    else:
        search(sys.argv[1],sys.argv[2])


python filefind.py /opt number

Python 核心編程 第九章 第九題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章