Python的文档中对walk的介绍:
walk(top, topdown=True, οnerrοr=None, followlinks=False)
树状目录的生成器。
对于以top参数为根的目录下每一个子目录(包括top本身,但不包括‘.’和‘..’),生成3元组:
dirpath, dirnames, filenames
dirpath是字符串,内有至该目录下的路径。dirnames则是一个列表,内含该目录下所有子目录的名字(同样没有'.'和'..')。filenames则是该目录下所有非目录文件的名字。需要注意的是,这两个名称列表里仅仅包含文件和目录的名字,没有完整路径。想要得到一个完整路径(从top开始),使用 os.path.join(dirpath,name)。
简单说明,topdown为True时,一个目录的元组信息在其所有子目录信息之前生成(这样,通过修改该目录的dirnames信息来控制walk访问子目录的顺序);为False时,则在其子目录之后生成。?对于followlinks参数,表示walk程序是否对于链接也进行遍历。
测试代码:
import os
for dirpath,dirnames,filenames in os.walk('.'):
for filename in filenames:
print os.path.join(dirpath,filename)
这里,从当前目录递归输出所有文件及其路径。