一颗目录树中每个节点都是一个目录,那么他的儿子节点中有的是目录,有的是文件。给定目录树的根节点的路径,Os.walk会按照深度优先遍历算法遍历这颗子目录树。每遍历到一个这颗子目录树的节点,也就是一个文件夹,他会返回三元tupple(dirpath, dirnames, filenames):
当前遍历到的文件夹的绝对路径,dirpath
当前文件夹下的子文件夹的名字,dirnames
当前文件夹的文件的名字,filenames
os.walk(top,topdown=True,οnerrοr=None)的三个参数的意义为:
参数top表示需要遍历的目录树的路径
参数topdown的默认值是"True",表示首先返回目录树下的文件,然后在遍历目录树的子目录.
参数onerror的默认值是"None",表示忽略文件遍历时产生的错误.
遍历的时候一般采用for循环(因为os.walk是)。
for dirpath, _dirnames,filenames in os.walk(top,topdown=True,οnerrοr=None)
print(dirpath)
print(_dirnames)
print(filenames)
下面举个例子,
#!/usr/bin/python
#coding:gbk
import os
path=r"F:\练习"
for dirpath, _dirnames,filenames in os.walk(path):
print("####################################")
print(dirpath)
print("---------")
print(_dirnames)
print("---------")
print(filenames)
结果为: