os.walk() 遍历目录下的文件夹和文件

os.walk(toptopdown=Trueonerror=Nonefollowlinks=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))

 

posted @ 2019-02-24 15:03  梦想与现实边缘  阅读(1453)  评论(0编辑  收藏  举报