os.walk() 是 Python 中的一个非常方便的函数,用于遍历目录和其子目录,并返回一个三元组(root, dirs, files)的生成器。
原理解析
函数原型为:os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]])
参数详解:
top:必需参数,需要遍历的目录路径。
topdown:可选参数,若设置为 True(默认值),则遍历会按照目录树自上而下的顺序进行。若设置为 False,则遍历顺序会根据文件系统的实际情况来决定。
onerror:可选参数,当在遍历过程中遇到错误时,此参数定义的处理函数会被调用。默认情况下,如果遇到错误会抛出异常。
followlinks:可选参数,若设置为 False(默认值),则不会跟踪符号链接(symlinks)。如果设置为 True,则会对符号链接进行递归遍历。
返回值详解:
dirpath:目录路径。
dirnames:目录名列表。
filenames:文件名列表。
运行示例
import os
for root, dirs, files in os.walk(r"E:\yolov8"):
print("1",root)# 当前正在遍历的目录路径
print("*********************")
print("2",dirs)# 当前目录下的子目录列表
print("*********************")
print("3",files)# 当前目录下的文件列表
此处,我们以笔者的一个文件夹为例,文件夹主目录结构如下:
在上述代码中,我们首先导入了 os 模块,然后使用 os.walk() 函数遍历了名为 “your_directory” 的目录。os.walk() 函数会返回一个生成器,每次迭代都会返回当前目录的路径、子目录列表和文件列表。我们可以在循环中使用这些信息来执行各种操作,例如打印目录结构或复制文件等。