打印指定目录下最大的十个文件,并按倒序输出:

vim top10.py

#!/usr/bin/env python


import os

import sys

import operator


def gen_dic(topdir):

    dic = {}

    a = os.walk(topdir)

    for p, d, f in a:

        for i in f:

            fn = os.path.join(p, i)

            f_size = os.path.getsize(fn)

            dic[fn] = f_size

    return dic


if __name__ == '__main__':

    dic = gen_dic(sys.argv[1])

    sorted_dic = sorted(dic.iteritems(), key=operator.itemgetter(1), reverse=True)

    for k, v in sorted_dic[:10]:

        print k, '==>', v


测试如下图:

wKiom1dZF53yG1jUAABjfM87t1k683.png-wh_50