python中用队列模拟递归(广度遍历)

用队列模拟递归(广度遍历)
import os
import collections

def getAllDirQU(path):
queue=collections.deque()
#进队
queue.append(path)

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

for fileName in filesList:
#绝对路径
fileAbsPath=os.path.join(dirPath,fileName)
#判断是否是目录,是目录就进队,不是就打印
if os.path.isdir(fileAbsPath):
print("目录:"+fileName)
else:
print("普通文件:"+fileName)

getAllDirQU(r"D:\f\Python\pycharm\234")

猜你喜欢

转载自www.cnblogs.com/zlong123/p/10447710.html