Python字典排序

本文介绍了一个使用Python编写的脚本,该脚本能遍历指定目录及其子目录下的所有文件,并按文件大小进行排序。通过调用os模块的相关函数,脚本获取每个文件的路径和大小,并将这些信息存储为字典。最后利用sorted函数配合operator模块的itemgetter方法对字典进行排序,以方便管理员快速找出占用空间较大的文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/env python
 
import os
import sys
import operator
 
def getFile(dir1):
    = os.walk(dir1)
    dic = {}
    for a,b,c in d:
        for 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位。


本文转自 运维小学生 51CTO博客,原文链接:http://blog.51cto.com/yasar/1877507,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值