一、问题
有一天,你快乐的用着电脑看着少儿不宜的东西,可是电脑右下角的360的气泡突然变红,电脑卡的不能动了,你赶紧查找原因,系统提示你C盘太满了,没有空间了,你着急的想要把一些不用东西请出C盘,可是人工一个一个的去找,实在是在费劲了,你当然可以使用360的大文件查找,可是谁叫你是有逼格的程序员呢!
于是,你撩起袖子自己干。
二、代码
import os
from os.path import join, getsize
def get_dir_size(dir):
for root, dirs, files in os.walk(dir):
try:
for name in files:
filename = join(root, name)
size = getsize(filename )
print('There are {:.3f} Mbytes in {}'.format(size/1024/1024,filename))
with open(r'size.csv','a+') as f:
f.write('{:.3f},{}\n'.format(size/1024/1024,filename))
except WindowsError:
pass
if __name__ == '__main__':
get_dir_size(r'c:\\')
首先,导入要用的包,由于我们要遍历目录,因此导入import os
, 还要获取文件的大小,所以导入了getsize
, 注意这里获取的大小不是我们常用的多少M,所以要进行转换,size/1024/1024
转换成了我们熟知的概念。