本文首發(fā)于我的個人博客:Suixin's Blog
原文: https://suixinblog.cn/2019/01/os-walk.html 作者: Suixin
使用os模塊的os.walk()函數(shù)可以遞歸地遍歷目錄。
用法
os.walk(top, topdown=True, onerror=None, followlinks=False)
top:要遍歷的目錄地址;
topdown:遍歷優(yōu)先級。True為先遍歷top目錄,F(xiàn)alse為先遍歷top子目錄。
例子
目錄結(jié)構(gòu)為:

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

image
可看到,函數(shù)先遍歷了主目錄
Suixin/,其下有兩個子目錄other和Blog、兩個文件.DS_Store和code1.py;再分別遍歷了兩個子目錄other和Blog,其下無子子目錄,只有文件。該方法對于遞歸處理目錄文件非常有效,而且函數(shù)運(yùn)行很快,消耗極小的時間。