首页 > 技术文章 > 用Python实现简单统计文件夹中的文件总大小

knowledgeYang 2018-08-11 11:42 原文

  用Python实现统计文件夹的大小,需要用到的是OS模块。OS模块中提供了可以统计文件大小的方法:os.path.getsize(dirpath)

  具体代码如下:

ret = os.sep.join(__file__.split('/')[:-2])
name = os.path.basename(ret)
sum = 0
def 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 sum

num = func(ret)
print('文件夹%s的大小为%s字节' % (name,num))
统计文件夹内文件总大小

  这种统计需要用到递归思想,首先得到需要统计大小的文件夹路径,得到文件夹内的全部文件夹和文件,进行if判断,如果是文件的话,计算文件大小加入sum,如果是文件夹的话,继续执行上一步的操作,统计内部的文件和文件夹,继续进行判断.直到全部遍历完毕,结束循环.

  这样的话最后得到的sum就是大文件夹内全部文件的总和

推荐阅读