Python应用集

❖ os.walk() 文件遍历

2019-01-13  本文已影响0人  Solomon_Xie

学习os.walk文件遍历,最最最重要的是了解这种遍历方法的逻辑,它的路径!!不了解的话,永远也学不会。

os.walk()是Python原生的遍历文件夹方法,但是表现出来的逻辑真的不是很好记忆。

用法:

os.walk(顶级目录地址, topdown=True, onerror=None, followlinks=False) 

函数返回一个三元Tupple: (目录路径(字符串), 子目录名(列表), 文件名(列表))

imageimage

遍历路径

os.walk()逐层扫描的,一层一层来。
比如上图中,从Root根目录下开始扫,

记住,它不会无穷尽深入每一个目录一直到底,而是逐层扫。
扫完一层后,再跳出来需要遍历的目录深入下一层。

指定深度

os.walk默认是深入到底的,遍历所有的位置。有时候我们只需要一层或两层。
抱歉,os.walk()没这个功能,只能自己写。
方法就是:声明一个depth变量记录当前深度,循环到一定深度后,用break语句退出循环。
以下为示例代码:

depth = 1
for root, subdir, filenames in os.walk():
    if depth is 2:
        break
    depth += 1

示例:只看文件

search_dir = '/home/me/`
for root, subdir, filenames in os.walk(search_dir):
    print(root, subdir)
    for fn in filenames:
        print(fn)
上一篇 下一篇

猜你喜欢

热点阅读