【例】写一个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)
效果图:
转载需保留链接来源:VCBeta.CN » Python遍历本地文件系统结果按条件排序