实现: 统计特定目录下的文件夹个数、文件个数及总大小
代码:
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
'================================='
结果:
中文乱码,是因为编码格式的问题,这个都已经很熟悉了
优化: 目前大小是字节,可以计算成KB、MB、GB显示
换算公式 1 KB = 1024 字节
1 MB = 1024 KB
1 GB = 1024 MB