【例】写一个Python程序统计一个目录下所有文件大小并按各种条件排序并保存结果。
例如,test文件夹下面有2个文件和一个文件夹:

python代码:

#coding=gb2312
import os
import pprint
#写一个搜寻函数,topdown决定遍历的顺序,如果topdown为True,则先列举top下的目录,然后是目录的目录
#os.walk(path),遍历path,返回一个对象,他的每个部分都是一个三元组,('目录x',[目录x下的目录list],目录x下面的文件)
def search_dir(dir,topdown=True):
for root, dirs, files in os.walk(dir, topdown):
for name in files:
fileAdd = os.path.join(root,name)
fileSize = os.path.getsize(fileAdd)
fileInfos[fileAdd] = fileSize;
for name in dirs:
fileAdd = os.path.join(root,name)
fileSize = os.path.getsize(fileAdd)
fileInfos[fileAdd] = fileSize;
#fileInfos是一个字典{(fileAdd, fileSize)}
fileInfos = {}
dir = raw_input('please input the path:')
search_dir(dir)
#对fileInfos字典按照values排序,输出
fileSortByValue = sorted(fileInfos.items(), key=lambda fileInfos:fileInfos[1], reverse = True)
pprint.pprint(fileSortByValue)
效果图:
转载需保留链接来源:软件玩家 » Python遍历本地文件系统结果按条件排序
【苹果】用苹果的Siri制作合成语音文件
Python操作sqlite数据库
Python处理文本文件,统计单词出现次数