博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用PYTHON实现将电脑里的所有文件按大小排序,便于清理
阅读量:6160 次
发布时间:2019-06-21

本文共 1317 字,大约阅读时间需要 4 分钟。

嘿嘿,慢慢找到写代码的感觉了。

这个小程序涉及的东东还是很多的,数据结构的设计,错误的处理,快速字典排序,文件数值调整。。。。

import os,os.pathimport globSUFFIXES = ['KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']def approximate_size(size):    '''Convert a file size to human-readable form.    Keyword arguments:    size -- file size in bytes      Returns: string    '''    if size < 0:        raise ValueError('number must be non-negative')    multiple = 1024.0     for suffix in SUFFIXES:        size /= multiple        if size < multiple:            return '{0:.1f} {1}'.format(size, suffix)rootDir = raw_input('Please input root dir:')count = 0fileDict = {}sortfileDict = {}for parent, dirnames, filenames in os.walk(rootDir):    #print('Folder: %s' % dirName)    for filename in filenames:        name = os.path.join(parent,filename)        try:            filesize = os.path.getsize(name)        except (OSError):            filesize = 0        fileDict[name] = filesize        count += 1        print count        sortfileDict = sorted(fileDict.iteritems(), key=lambda fileDict:fileDict[1], reverse = True)fList = open('filelist.txt','w')for i in range(len(sortfileDict)):    #print sortfileDict[i][0], "\t", sortfileDict[i][1]    fileList = "{0} \t {1} \n".format(sortfileDict[i][0], approximate_size(sortfileDict[i][1]))    fList.write(fileList)fList.close()print 'DONE'

转载地址:http://drhfa.baihongyu.com/

你可能感兴趣的文章
老李分享:Android性能优化之内存泄漏 3
查看>>
mysql命令
查看>>
来自极客标签10款最新设计素材-系列七
查看>>
极客技术专题【009期】:web技术开发小技巧
查看>>
PHP 简单计算器代码实现
查看>>
正则表达式的知识普及
查看>>
docker使用笔记
查看>>
华为eNSP模拟器上实现FTP服务
查看>>
【全球AI人才排行榜】美国第一,中国仅排名第7
查看>>
微信小程序输入框input
查看>>
MySql字符串函数使用技巧
查看>>
Doc2Vec,Word2Vec文本相似度 初体验。
查看>>
系统ghost后变成一个盘了别的分区的文件怎么找回
查看>>
Win7+Ubuntu11
查看>>
请问华为三层交换机里面的那个从IP是个什么意思? -
查看>>
kFeedback开源啦
查看>>
大数据传输,文件传输的专业解决方案!
查看>>
阿里云专家穆轩的《杭州九年程序员之“修炼”手册》
查看>>
JQuery:deferred对象的方法
查看>>
eyoucms问答 百度权重是什么
查看>>