import os # 导入os模块
def sum(path):
"""
主要方法
"""
size = 0
# 判断是文件夹
if os.path.isdir(path):
# 遍历目录下的文件和文件夹再次执行sum()方法
for i in os.listdir(path):
# 将遍历出来的文件或文件夹与父文件夹拼起来(组成绝对路径)
new_path = os.path.join(path, i)
# print(new_path)
# 把下面递归返回的大小加到size上
size += sum(new_path)
else:
# 不是文件就是文件夹咯 直接加到size上
size += os.path.getsize(path)
# 返回文件大小
return size
# 这是一个使用的例子
# 对E盘遍历 listdir() 这个方法返回的是一个列表
for i in os.listdir(r"E:"):
# 将遍历出来的文件或文件夹与父文件夹拼起来(组成绝对路径)
path = os.path.join(r"E:", i)
# sum默认返回size的单位是字节 与kb、mb、gb……得到换算是1024、1024^2、1024^3……
size = sum(path) / float(1024 ** 3) # 举个例子 想要以mb为单位的话就除以1024的平方
print("文件夹名:{} 大小:{} Gb".format(i, size))
执行结果: