第四篇 python深度遍历与广度遍历文件夹

本文介绍了Python中深度遍历和广度遍历文件夹的方法,通过实例展示了如何使用os模块遍历文件夹。深度遍历利用栈实现,广度遍历则采用队列,详细解释了两种遍历方式的工作原理和实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般我们搜寻文件夹有两种方式:深度遍历和广度遍历。简单来说深度遍历就是将文件夹一个一个地遍历完,广度遍历是把文件夹一层一层地过完。下面给出具体栗子:
在这里插入图片描述

如图有三层文件夹,我们来进行遍历
深度遍历的顺序是:A-C-1c-2c-D-1d-2d-B-E-1e-2e-F-1f-2f
广度遍历的顺序是:A-B-C-D-E-F-1c-2c-1d-2d-1e-2e-1f-2f

我们主要用到python中os模块,想要了解更多关于os内容的同学可以戳这里

深度遍历

这次我们要遍历c盘中的test文件夹,长这样:
在这里插入图片描述
A、B中的文件夹分布和上图中展示的一样,就不赘述了。

我们对test文件夹中所有文件夹进行深度遍历,是想要对A或B中的文件夹按照纵向的顺序遍历。我们建立一个栈来放入我们需要遍历的所有文件夹。栈准备好了,但这个时候输出我们只能看到一个test文件夹,对于里面的内容我们是不知道的。我们需要借助这样一个循环来帮我们查看文件夹中是否还有文件夹,并把结果记录:当我们栈中的内容不为空时(也就是当我们栈中有内容,即还有文件夹的时候),我们从栈尾取出一个节点,这个节点就是我们文件夹了。我们要对文件中的内容进行判断,也就是要看看是否还有下一层文件夹需要打开。我们按照打开的顺序依次将上一层次的文件夹加入栈中,栈的特点是后进先出,借此我们实现对文件夹的深度遍历。(文件夹打开加入栈的顺序为:1c-2c-C-1d-2d-D-A-1e-2e-E-1f-2f-F-B

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值