用Python实现统计文件夹的大小,需要用到的是OS模块。OS模块中提供了可以统计文件大小的方法:os.path.getsize(dirpath)
具体代码如下:
ret = os.sep.join(__file__.split('/')[:-2])name = os.path.basename(ret)sum = 0def func(dirpath): lst = os.listdir(dirpath) # 大文件夹下文件列表,包括文件夹 for el in lst: new_dir = dirpath+'\\'+el if os.path.isfile(new_dir): getsize = os.path.getsize(new_dir) global sum sum += getsize else: func(new_dir) return sumnum = func(ret)print('文件夹%s的大小为%s字节' % (name,num))
这种统计需要用到递归思想,首先得到需要统计大小的文件夹路径,得到文件夹内的全部文件夹和文件,进行if判断,如果是文件的话,计算文件大小加入sum,如果是文件夹的话,继续执行上一步的操作,统计内部的文件和文件夹,继续进行判断.直到全部遍历完毕,结束循环.
这样的话最后得到的sum就是大文件夹内全部文件的总和