码迷,mamicode.com
首页 > 其他好文 > 详细

队列模拟递归遍历目录(广度遍历)

时间:2020-02-19 17:27:29      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:collect   div   desktop   color   alt   slist   def   end   合成   

import os
import collections
def getALLDir(path):
    queue = collections.deque()#空的
    queue.append(path)#进队

    while len(queue) != 0:
        dirPath = queue.popleft()#数据出队
        filesList = os.listdir(dirPath)#找出所有文件

        for fileName in filesList:#处理文件
            fileAbsPath = os.path.join(dirPath,fileName)#合成文件绝对路径
            if os.path.isdir(fileAbsPath):#判断文件类型
                print("目录:" + fileName)
                queue.append(fileAbsPath)#若文件为目录 则进队 进行!=0的判断 即继续遍历
            else:
                print("普通文件:" + fileName)
getALLDir(r"C:\Users\23678\Desktop\超星智慧树网课助手浏览器版V1.1.0")

 

思路简图

画的有点丑,不要嫌弃 (~ ̄▽ ̄)~

 

 

技术图片

 

队列模拟递归遍历目录(广度遍历)

标签:collect   div   desktop   color   alt   slist   def   end   合成   

原文地址:https://www.cnblogs.com/FSHOU/p/12331774.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!