对于多级目录的文件处理,walk是神器,一个模板如下:
- root 所指的是当前正在遍历的这个文件夹的本身的地址
- dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
- files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
- topdown True则先扫顶级目录,False则从子目录开扫,最后再扫顶级目录
# -*- coding: utf-8
import osif __name__ == '__main__':for root, dirs, files in os.walk(r"D:\zaq12wsx\work\year_2020", topdown=True):for name in files:if r'.txt' in name:print(os.path.join(root, name))for name in dirs:print(os.path.join(root, name))
参考文献
- https://www.runoob.com/python/os-walk.html