利用 os 库自带的函数,递归实现目录及文件的遍历,为了输出文件树,输出的时候配合 deep 增加了一些样式控制。
代码的7–15行是为了调整遍历的顺序,优先遍历文件夹
import os
def traverse_dir(current_dir, deep=0):
"""
current_dir: 绝对路径: "./" 或当前路径: 'D:/picture'
"""
dir_list = os.listdir(current_dir)
# traverse folder first.
path_list, file_list = [], []
for dir in dir_list:
path = os.path.join(current_dir, dir)
if os.path.isdir(path):
path_list.append(dir)
else:
file_list.append(dir)
dir_list = path_list + file_list
# traverse all dir.
for dir in dir_list:
path = os.path.