深度遍历
就是一个一个文件夹进行遍历
广度遍历
就是,一层一层的进行遍历
深度遍历
思路: 把路径下的文件一个一个取出来,对每一个文件进行操作,判断是文件还是文档,如果是文件,进行遍历,如果是文档,直接输出.
import os
def get_all_file(path):
#定义一个空的集合,并把传入的路径加进去
stack = []
stack.append(path)
#开始循环遍历
while len(stack) > 0:
#如果文件不为空,则一个一个取出来判断
else_path = stack.pop()
list_file_name = os.listdir(else_path)
#用循环对文件开始遍历
for file_name in list_file_name:
abs_path = os.path.join(else_path,file_name)
#开始判断
if os.path.isdir(abs_path):
print('目录是',file_name)
#如果不是最底层的文件,则继续添加遍历
stack.append(abs_path)
else:
print('文件是',file_name)
get_all_file(r'C:\Users\me\Desktop\新建文件夹')
目录是 新建文件夹
目录是 新建文件夹 (2)
目录是 新建文件夹 (3)
文件是 新建文本文档 (2).txt
文件是 新建文本文档.txt
文件是 3.txt
文件是 4.txt
文件是 1.txt
文件是 2.txt
目录是 aa
文件是 ff.txt