本文首发于我的个人博客:Suixin's Blog
原文: https://suixinblog.cn/2019/01/os-walk.html 作者: Suixin
使用os模块的os.walk()函数可以递归地遍历目录。
用法
os.walk(top, topdown=True, onerror=None, followlinks=False)
top:要遍历的目录地址;
topdown:遍历优先级。True为先遍历top目录,False为先遍历top子目录。
例子
目录结构为:

image
import os
for root, dirs, files in os.walk("Suixin/"):
    print(root)
    print(dirs)
    print(files, "\n\n")

image
可看到,函数先遍历了主目录
Suixin/,其下有两个子目录other和Blog、两个文件.DS_Store和code1.py;再分别遍历了两个子目录other和Blog,其下无子子目录,只有文件。该方法对于递归处理目录文件非常有效,而且函数运行很快,消耗极小的时间。