目的很简单,就是遍历文件夹得到目录树,可以不需要再双击文件夹,一个一个的去找文件再双击打开,将无数次的无效点击,变成一次单击便能查看想要查看的文件。
当然了,遍历文件夹是基础操作,批量操作必定要一个一个的来,但是我们在工作中可能也只是需要辅助一下,让我们可以简单地只去动动脑子,而不用枯燥的重复。
那么首先,问,手工怎么遍历?
打开文件夹,看看里面有啥,文件的话,写到树上,文件夹的话,写到树上,接着往里面打开,直到没有可以打开的东西。
可以看出,这是一个枯燥而且无聊的操作,如果文件夹多了,还可能会漏。非常适合用Python这种脚本语言来解决。
根据以上便可得到一个框架
import os, os.path
def get_dir_list(path):
# 看看哪些是文件夹哪些是文件
folder_list = [folder for folder in os.listdir(path) if os.path.isdir(os.path.join(path, folder))] # 全部子文件夹名称
file_list = [file for file in os.listdir(path) if os.path.isfile(os.path.join(path, file))] # 全部子文件名称
for folder in folder_list:
print(folder) # 写文件夹名
get_dir_list(os.path.join(path, folder)) # 内层文件夹进深一层,并搜索
for file in file_list:
print(file) # 写文件名
if __name__ == '__main__':
main_path = "C:\\test"
# 打开文件夹
get_dir_list(main_path)
运行完可以看出,结果非常简单,甚至都看不出哪个是文件哪个是文件夹。
因此内层文件名需要缩进。如下
TAB = ' '
def get_dir_list(path, placeholder=''):
...
for folder in folder_list:
print(placeholder + folder) # 写文件夹名
get_dir_list(os.path