Day 14: list_large_files
This script will print the n number of biggest files in the specified dir and it's sub dir. It will be helpful when you want to free up some space in HD
import os,constants import math from collections import Counter LOCATION=constants.DOWNLOAD_PATH LIST_NUMBER_OF_FILES=25 FILE_SIZE=6250000 #Approx 50 MB def convert_size(size_bytes): if size_bytes == 0: return "0B" size_name = ("B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB") i = int(math.floor(math.log(size_bytes, 1024))) p = math.pow(1024, i) s = round(size_bytes / p, 2) return "%s %s" % (s, size_name[i]) files=[val for sublist in [[os.path.join(i[0], j) for j in i[2]] for i in os.walk(LOCATION)] for val in sublist] files=list(filter(lambda x: os.stat(x).st_size >FILE_SIZE,files)) c = Counter() for f in files: c[f]=os.stat(f).st_size for item in (sorted(c.items(), key=lambda i: i[1], reverse=True)[:]): print(os.path.split(item[0])[1]," - ",convert_size(item[1]))
Please Visit my Git Repo to check out all the previous day challenges.
Top comments (0)