广度优先递归遍历文件夹,使用列表模拟队列
时间: 2024-02-21 08:14:01 浏览: 126
广度优先遍历 实例
3星 · 编辑精心推荐
好的,我可以为你提供代码示例,如下所示:
```python
import os
def bfs_folder_recursively(folder_path):
# 创建一个空列表,模拟队列
queue = []
# 将根目录加入队列
queue.append(folder_path)
while queue:
# 从队列的头部取出一个目录
current_folder = queue.pop(0)
print(current_folder)
# 获取当前目录下的所有文件和目录
items = os.listdir(current_folder)
for item in items:
# 获取文件或目录的完整路径
item_path = os.path.join(current_folder, item)
# 判断是否为目录,如果是则加入队列
if os.path.isdir(item_path):
queue.append(item_path)
# 测试
bfs_folder_recursively('/path/to/folder')
```
上述代码中,`bfs_folder_recursively` 函数使用一个列表来模拟队列,首先将根目录加入队列中,然后开始循环,每次从队列的头部取出一个目录并打印其路径,然后获取该目录下的所有文件和目录,将所有的目录加入队列的尾部,然后继续循环,直到队列为空。
希望这个代码示例能够帮到你!
阅读全文