python之os.walk()

功能:

os.walk() 是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。

声明:

walk(top, topdown=True, οnerrοr=None, followlinks=False)

输入参数:

  • top:所需遍历目录的路径
  • topdown:True时,则优先遍历top目录,否则优先遍历top的子目录(默认为True)
  • onerror:需要一个 callable 对象,当walk需要异常时,会调用
  • followlinks:True时,则会遍历目录下的快捷方式(linux 下是 symbolic
    link)实际所指的目录(默认False)

返回值:

  • 返回值是一个生成器(generator),也就是需要不断的遍历它,来获得所有的内容。

  • 每次遍历的对象都是返回的是一个三元组**(root,dirs,files)**。这个三元组表示当前遍历的目录的信息,从top根目录开始到top根目录的每个子目录

    root 是当前遍历目录的相对路径
    dirs 是一个 list ,内容是当前目录的子目录名称(不包括子目录)
    files 同样是 list , 内容是当前目录的文件名称(不包括子目录)

代码说明:

import os

result = os.walk(path)
for r in result:
	sub_dir=[r]
	
# 第0次遍历,r对应的是根目录top的信息,即r的root是根目录的相对路径,dirs是根目录的子目录名称list,files是根目录的文件名称list
#第1次遍历,r对应的是根目录top的第一个子目录subDir1的信息,即r的root是subDir1的相对路径,dirs是subDir1的子目录名称list,files是subDir1的文件名称list
#... ... ...
#第k次遍历,r对应的是根目录top的第k个子目录subDirk的信息,即r的root是subDirk的相对路径,dirs是subDirk的子目录名称list,files是subDirk的文件名称list

#最终,sub_dir是包括top根目录及其所有子目录的相对路径的一个列表

参考链接:https://www.jianshu.com/p/bbad16822eab

你可能感兴趣的:(python,Python,os,walk)