[TOOLS]Python小脚本——文件夹大小统计

最近整理电脑的硬盘时发现大量杂七杂八的文件,有些文件还很大,Windows查看文件夹大小还挺麻烦,遂临时用Python写了个脚本,统计目标文件夹里的各个文件、文件夹的大小,方便文件整理。

现在把脚本代码贴出来(用的是Python3):

# -*- coding: utf-8 -*
import os


def func_file(dirpath ):
    sum_file = 0
    lst = os.listdir(dirpath)  # 大文件夹下一级文件列表, 包括文件夹
    lst.sort()  # 文件按名称排序方便查看
    for fe in lst:
        new_dir = dirpath+‘\\‘+fe
        if os.path.isfile(new_dir):
            getsize = os.path.getsize(new_dir)
            sum_file += getsize
        else:
            new_dir_size = func_file(new_dir)
            sum_file += new_dir_size
    return sum_file


def main(file_path):
    # 计算目标文件夹下一级的文件及文件夹的大小
    print("目标文件夹路径是:%s" % file_path)
    sum_all = 0
    lst = os.listdir(file_path)
    print("目标文件夹内文件列表:\n %s" % lst)
    for fe in lst:
        new_dir = file_path+‘\\‘+fe
        if os.path.isfile(new_dir):
            getsize = os.path.getsize(new_dir)
            print(‘文件: %s的大小为 %.3f Mb‘ % (fe, getsize/1024/1024))
            sum_all += getsize
        else:
            new_dir_size = func_file(new_dir)
            print(‘文件夹: %s 的大小为 %.3f Mb‘ % (new_dir, new_dir_size/1024/1024))
            sum_all += new_dir_size
    return sum_all


if __name__ == ‘__main__‘:
    file_path = "C:\\Users\\Administrator\\Desktop"  # 这里设置需要统计的目标文件夹路径
    name = os.path.basename(file_path)
    print("目标文件夹是:%s" % name)
    num_list = main(file_path)
    print(‘文件夹: %s 的总大小为 %.3f Mb‘ % (name, num_list/1024/1024))

相关推荐