Python的os库有os.path.getsize(),但只能获取文件的大小,不能直接拿来获取子目录的大小,因为该函数只返回子目录的属性大小4096。要获取子目录里所有文件的总大小,os库没有现成的函数,只能靠os.walk函数遍历子目录来实现。
import os
def GetDirSize(dir):
size = 0
for root, dirs, files in os.walk(dir): # os.walk()返回三个结果,因此需要root, dirs, files
size += sum([os.path.getsize(os.path.join(root, name)) for name in files])
return size