Python2.7 os模块统计特定目录下的文件夹个数、文件个数及总大小

实现: 统计特定目录下的文件夹个数、文件个数及总大小

代码:

import os
global path_count
global file_count
global file_size
def calSize(path):

    if os.path.isfile(path):
        print u'not a path'
        return False

    for filename in os.listdir(path):
        newpath = os.path.join(path, filename)
        if os.path.isdir(newpath):
            print u'文件夹:', filename
            path_count += 1
            calSize(newpath)
        else:
            file_count += 1
            file_size += os.path.getsize(newpath)
if __name__ == '__main__':
    path_count = 0
    file_count = 0
    file_size = 0.0
    src = 'D:\\EncryptFile11'
    calSize(src)
    print
    '================================='
    print u'文件夹个数:', path_count
    print u'文件个数:', file_count
    print u'总大小(字节): ', file_size
    '================================='

结果:

Python2.7 os模块统计特定目录下的文件夹个数、文件个数及总大小

中文乱码,是因为编码格式的问题,这个都已经很熟悉了

优化: 目前大小是字节,可以计算成KB、MB、GB显示

换算公式  1 KB = 1024 字节

                1 MB = 1024 KB

                1 GB = 1024 MB