Discuss / Python / 5行就可以搞定

5行就可以搞定

Topic source
def find(name, ndir): # 参数: 需要包含的文件名和开始的目录(绝对路径)
    os.chdir(ndir)
    for file in [x for x in os.listdir('.') if not os.path.isdir(x)]:
        if not file.find(name): print(f'Find: {os.path.join(ndir, file)}')
    for dir in [x for x in os.listdir('.') if os.path.isdir(x)]:
        find(name, os.path.join(ndir, dir))

存在一个BUG,如果所要搜索的文件名不是在整个文件的开头,例如:我要搜索的是带‘test’字符的文件,但是有部分文件是‘goodtest’类似的文件名,那么该程序就搜索不到


  • 1

Reply