简介
本文讲述如何开发一款小工具用于快速检索大文件,先来体验一下如何使用:

指定检索文件夹、文件大小,将循环遍历出目录下所有文件,筛选出大于设置尺寸的文件,并排序输出。
应用开发者可从这些大文件着手,进行APK资源瘦身。
实现方式
使用python脚本实现
步骤一:遍历文件夹
使用 os 模块 walk() 方法,很方便遍历出文件列表,root 指文件夹路径,dirs 文件下的子文件夹列表,files 文件夹下的文件列表,此方法循环遍历子文件夹
| 12
 
 | for root, dirs, files in os.walk(path):......
 
 | 
步骤二:查找出文件大小大于设置值的文件
| 12
 3
 4
 5
 6
 7
 8
 9
 
 | for fil in files:tmpPath = os.path.join(root, fil)
 tmpSize = os.path.getsize(tmpPath)
 # 跳过文件大小 小于设置值的文件
 if tmpSize < size:
 continue
 tmpFile = SrcFile(tmpPath, tmpSize)
 print tmpFile
 resultFiles.append(tmpFile)
 
 | 
步骤三:对筛选出的文件排序
| 1
 | resultFiles = sorted(resultFiles, cmp=lambda x, y: cmp(x.size, y.size), reverse=True)
 | 
步骤四:从命令行读取路径和文件大小参数
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 
 | if __name__ == "__main__":if len(sys.argv) != 3:
 print use_age
 else:
 try:
 path = sys.argv[1]
 if not os.path.exists(path):
 raise Exception("文件夹不存在")
 size = int(sys.argv[2])
 print "=" * 50
 print "正在检索大于 %sK 的文件" % size
 print
 result = list_file_size(path, size * 1024)
 if result:
 print
 print "=" * 50
 print "共检索出%s个文件,按大小排序后: \n" % len(result)
 for item in result:
 print item
 else:
 print
 print "=" * 50
 print "未找符合条件的文件 \n"
 except Exception, e:
 print str(e)
 print use_age
 
 | 
步骤五:编译生成可执行文件
Python 脚本可使用 pyinstaller 模块很方便的打包成可执行文件(使用方法参看pyinstaller官网)
步骤六:查看使用方法

总结
如果您使用mac, 可下载可执行脚本使用
当然您也可以自行编译源码,点击下载源码