用堆栈实现不清楚文件夹层数计算所有文件大小
1 import os 2 3 lst = [r'D:\Git'] 4 seiz = 0 5 while lst: 6 pash = lst.pop() 7 name_lst = os.listdir(pash) 8 for i in name_lst: 9 full_path = os.path.join(pash,i) 10 if os.path.isdir(full_path): 11 lst.append(full_path) 12 elif os.path.isfile(full_path): 13 seiz += os.path.getsize(full_path) 14 15 print(seiz)
利用栈后进先出,循环列表中的每个文件,判断是文件还是文件夹,如果不是文件夹则直接计算文件大小,如果是文件夹则利用pop再次循环,直到列表lst为空这样就计算出来所有的文件大小了。