python中os模块的walk函数

时间:2021-03-29 07:48:58

Python的文档中对walk的介绍:

walk(top, topdown=True, onerror=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)

这里,从当前目录递归输出所有文件及其路径。