您的位置:首页 > 编程语言 > Python开发

python ( os , path , sys ) 找出指定目录下的所有文件,并求出大小且排序

2015-05-19 10:52 465 查看
import os

import os.path

fileDic = { }

for file in os.listdir('/home/titi/Desktop'):

fileDic[file] = os.path.getsize(file)

sortFile = sorted(fileDic.items(), key = lamdba,e:e[1],reserve = True )

for listFile in sortFile:

print listFile

在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的。因此,为了使统计得到的结果更方便查看需要进行排序。Python中字典的排序分为按“键”排序和按“值”排序。

1、按“值”排序

按“值”排序就是根据字典的值进行排序,可以使用内置的sorted()函数。

sorted(iterable[, cmp[, key[, reverse]]])

(1)iterable:是可迭代类型类型;

(2)cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项;

(3)key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项;

(4)reverse:排序规则. reverse = True 或者 reverse = False,有默认值,默认为升序排列(False)。

返回值:是一个经过排序的可迭代类型,与iterable一样。一般来说,cmp和key可以使用lambda表达式。

如果对字典进行排序,常用的形式如下:sorted(dict.items(), key=lambda e:e[1], reverse=True), 其中e表示dict.items()中的一个元素,e[1]则表示按 值排序如果把e[1]改成e[0],那么则是按键排序,reverse=False可以省略,默认为升序排列。

说明:字典的items()函数返回的是一个列表,列表的每个元素是一个键和值组成的元组。因此,sorted(dict.items(), key=lambda e:e[1], reverse=True)返回的值同样是由元组组成的列表。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐