最近整理电脑的硬盘时发现大量杂七杂八的文件,有些文件还很大,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))