os.walk:
walk(top, topdown=True, onerror=None, followlinks=False)
参数:
- top 要遍历的目录地址
- topdown 为真,则优先遍历top目录,否则优先遍历top的子目录(默认为True)(广度深度)
- onerror 需要一个 callable 对象,当walk需要异常时,会调用
- followlinks 如果为真,则会遍历目录下的快捷方式
os.walk 的返回值是一个生成器(generator), 他会不断的遍历所给目录下的所有(子孙)目录(包括它本身)
每次遍历都是返回的是一个三元组(root, dirs, files)
- root 当前正在遍历的目录地址
- dirs 由正在遍历目录的子目录组成的 列表
- files 同样是 列表, 是正在遍历的目录的 文件
遍历目录:
import os
def tree(top):
#path,folder list,file list
for path, names, fnames in os.walk(top):
for fname in fnames:
yield os.path.join(path, fname) for name in tree(os.getcwd()):
print(name)