#!/usr/bin/env python

import os
import sys
import operator

def getFile(dir1):
    d = os.walk(dir1)
    dic = {}
    for a,b,c in d:
        for i in c:
            fn = os.path.join(a,i)
            f_size = os.path.getsize(fn)
            dic[fn] = f_size
    return dic

if __name__ == '__main__':
    dir1 = sys.argv[1]
    dic = getFile(dir1)
    sorted_dic = sorted(dic.iteritems(),key=operator.itemgetter(1),reverse=True)
    for k,v in sorted_dic[:10]:
        print "%s===>%s" % (k,v)
  1. sorted是排序函数,dic.iteritems()返回一个可迭代的对象,key指定根据K或者Y列来排序,operator.itemgetter(1)表示根据字典Y流排序,operator.itemgetter(0)表示根据字典K列来排序,reverse=True表示倒序排序,默认是False。sorted_dic[:10]表示就列出列表前10位。