利用 os.walk() 遍历目录

时间:2023-03-10 05:23:26
利用 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 同样是 列表, 是正在遍历的目录的 文件

遍历目录:

 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)