Python_计算文件夹大小

时间:2022-10-22 19:21:35

计算文件夹大小

os.listdir('dirname')    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getsize(path) 返回path的大小
os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False
递归版:
 import os

 def get_size(path):
ret = os.listdir(path)
print(ret)
total = 0 for name in ret:
abs_path = os.path.join(path, name) if os.path.isdir(abs_path):
total += get_size(abs_path)
else:
total += os.path.get.size(abs_path) return total path = r'D:\S12\py笔记'
ret = get_size(path)
print(ret)

  递归什么时候结束?  返回值的时候结束递归.

堆栈

  栈是一种计算机存储数据的思想:先进后出

压栈思想:

 import os

 path = r'D:\S12\py笔记\day19'
dir_lst = [path] while dir_list:
path = dir_lst.pop()
ret = os.listdir(path) for name in ret:
abs_path = os.path.join(path, name) if os.path.isdir(abs_path):
dir_lst.append(abs_path)
else:
total += os.path.getsize(abs_path) print(total)