Python遍历本地文件系统结果按条件排序

【例】写一个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遍历本地文件系统结果按条件排序

赞 (0)