“只有提升维度,不断抽象,才能够看清低维度的事物的本质。” - 柏拉图-理想国
问题:
遍历系统某个文件夹下面的所有子文件夹和文件,输出子文件夹的文件的名称。
解决方案:
获取系统文件夹的路径,创建一个字典。
列出当前文件夹下的文件夹和文件,文件夹存储为字典的key1,文件存储为字典的key2。
遍历字典中的每一个文件夹和文件
讨论:
当文件/文件夹名称为汉字时,没有进行测试。
如何依据key,快速查找当前key及以该key为父目录的所有子目录和子文件,没有实现。
封装性不好,class和独立函数混合。
源代码:
# coding=utf-8 from __future__ import print_function from __future__ import with_statement import os import sys class traverse_name(): def __init__(self, path, father_dir): self.path = path + father_dir def show_name(self): '''显示当前路径下的文件夹和文件''' # print(os.listdir(self.path)) list0 = os.listdir(self.path) # print(os.walk(self.path)) list_dir = [] list_file = [] for i in list0: if os.path.isdir(self.path + '\\' + i): list_dir.append(i) else: list_file.append(i) return list_dir, list_file def iter_dir(abs_path, dir_father_path, dir_res): if 0 == len(dir_res[dir_father_path]['dir']): # 父目录下没有子目录 return 0 for dir in dir_res[dir_father_path]['dir']: # \\A dir_son_path = dir_father_path + '\\