首页 > 编程语言 > 详细

Python分析C盘大文件[夹]

时间:2015-09-24 16:41:52      阅读:292      评论:0      收藏:0      [点我收藏+]
__author__ = ‘baron‘

import os
import codecs
from os.path import join, getsize

def getdirsize(dirDict, rootpath):
    dirsize = 0L
    for root, dirs, files in os.walk(rootpath):
        if root == rootpath:
            for dir in dirs:
                dirDict, fsize = getdirsize(dirDict, join(rootpath, dir))
                dirsize += fsize
            try:
                dirsize += sum([getsize(join(rootpath, file)) for file in files])
            except:
                pass
    if dirsize / 1024 / 1024 != 0 and rootpath not in dirDict:
        dirDict[rootpath] = dirsize / 1024 / 1024
        print len(dirDict)
    return dirDict, dirsize

if __name__ == ‘__main__‘:
    write_path = ‘C:\\Users\\baron\\Desktop\\LOG.txt‘
    write_file = codecs.open(write_path, ‘w‘, encoding=‘UTF-8‘)
    rootpath = ‘C:\\‘
    dirDict = {}
    for file in os.listdir(rootpath):
        if file.startswith(‘$‘):
            continue
        if os.path.isdir(join(rootpath,file)):
            dirDict, fsize = getdirsize(dirDict, join(rootpath, file))
            seq_dict = sorted(dirDict.items(), key=lambda t: t[1], reverse=True)
            for item in seq_dict:
                write_file.write(‘\t‘.join([item[0], ‘%.1f‘ % item[1]]).decode(‘gbk‘)+‘\n‘)

技术分享

Python分析C盘大文件[夹]

原文:http://my.oschina.net/iuranus/blog/510666

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!