Discuss / Python / 递归得到每步所需要的所有目录列表,在每个目录下找所有包含指定字符串的文件名

递归得到每步所需要的所有目录列表,在每个目录下找所有包含指定字符串的文件名

Topic source
import os

def search(dststr, path=['.']):
    for n in path:
        dirlist = [x for x in os.listdir(n) if os.path.isdir(os.path.join(n, x))]
        filelist = [x for x in os.listdir(n) if os.path.isfile(os.path.join(n, x)) and dststr in os.path.splitext(x)[0]]
        if len(filelist) > 0:
            print(n, ':')
            for m in filelist:
                print(m)
            print('\n')
        path = [os.path.join(n, x) for x in dirlist]
        search(dststr, path)
    return 'Done'

dststr = '2'
search(dststr)

厉害


  • 1

Reply