利用 os.walk() 遍历目录

Posted TingShuo的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用 os.walk() 遍历目录相关的知识,希望对你有一定的参考价值。

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 同样是 列表, 是正在遍历的目录的 文件

遍历目录:

1 import os
2 def tree(top):
3     #path,folder list,file list
4     for path, names, fnames in os.walk(top):
5         for fname in fnames:
6             yield os.path.join(path, fname)
7 
8 for name in tree(os.getcwd()):
9     print(name)

 

以上是关于利用 os.walk() 遍历目录的主要内容,如果未能解决你的问题,请参考以下文章

Python os.walk() 遍历出当前目录下的文件夹和文件

python笔记4-遍历文件夹目录os.walk()

Python - Os.walk循环遍历不同驱动器中的目录列表

python遍历目录os.walk(''d:\test2",topdown=False)

python 使用python os.walk遍历所有子目录

os.walk获取目录中所有文件