python的os模块中的os.walk()函数

Posted forever77

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python的os模块中的os.walk()函数相关的知识,希望对你有一定的参考价值。

os.walk(‘path‘)函数对于每个目录返回一个三元组,(dirpath, dirnames, filenames),

第一个是路径,第二个是路径下面的目录,第三个是路径下面的文件

如果加参数topdown=False则表示自下而上进行遍历,默认为topdown=True即自上而下进行遍历

 

例如对于下面的结构来说

技术分享图片

#对于上述结构,os.walk()的结果为
[dir, [dir1, dir2], [file1.txt, file2.txt]]
[dir\\dir1, [dir11, dir12], []]
[dir\\dir1\\dir11, [], [file111.txt]]
[dir\\dir1\\dir12, [], []]
[dir\\dir2, [dir21], [file21.txt]]
[dir\\dir2\\dir21, [], []]

#可通过如下脚本验证
import sys
l=[]
for root,dirs,files in os.walk(dir):
    l.append(root)
    l.append(dirs)
    l.append(files)
    print(l)
    l=[]

结果分析

1.先以给定的目录作为根目录进行遍历,读取根目录的文件夹和文件

2.以根目录下子目录为新的根目录进行遍历,读取其下面的文件夹和文件

3.再以2中得到的子目录为根目录进行遍历,读取其下面的文件夹和文件

4.重复3,直至所有子目录下面没有子目录和文件

 

以上是关于python的os模块中的os.walk()函数的主要内容,如果未能解决你的问题,请参考以下文章

python中的os.walk

python os.walk()代码详解

递归os.walk内置函数lambdahashlib模块md5加密python安装第三方模块操作mysql数据库

python OS库

os模块常见用法

Python获取指定文件夹下的文件名