os.
walk
(top, topdown=True, οnerrοr=None, followlinks=False)
top:顶级目录
os.walk()返回一个三元tupple(dirpath, dirnames, filenames)的生成器,其中dirpath是一个string,代表目录的路径,dirnames是一个list,包含了dirpath下所有子目录的名字,但不包含上级目录和本目录('..'与'.')。filenames是一个list,包含了非目录文件的名字。这些名字不包含路径信息,如果需要得到全路径,需要使用os.path.join(dirpath, name).
注意:生成器不能直接进行赋值解包,需用for、next等迭代工具产生元组或列表序列后进行解包赋值
手动解包赋值:
root,dirs,files = next(os.walk(r'd:\vb'))
for自动解包用法:
import os for root, dirs, files in os.walk(r'd:\vb', topdown=False): for name in files: os.remove(os.path.join(root, name)) for name in dirs: os.rmdir(os.path.join(root, name))