清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
#---------------------------------------------------------------- # -*- coding: utf-8 -*- #!/usr/bin/env python #---------------------------------------------------------------- # Author : pcfeng502 # # E-Mail : pcfeng502@126.com # # File : folderSizeList_v02.py # # Introduction: # 统计一个文件夹下的子文件夹的大小 # 方便删除文件夹中的子文件夹 #---------------------------------------------------------------- # works with Python 3.3.2; windows 7 64bit import os from os.path import join from os.path import getsize exceptionCount = 0; def getDirSize(dir): size = 0; if os.path.isdir(dir): for root, dirs, files in os.walk(dir): try: size += sum(getsize(join(root, name)) for name in files) except FileNotFoundError: global exceptionCount exceptionCount +=1 return size; else: size = getsize(dir) return size def getSubDir(dir): subDirList = os.listdir(dir) return subDirList #todo ##def getpath(): if __name__ == '__main__': #TODO read the file name input path = input('Input the path you want to check out size\n'); rootpath = path; print(rootpath); subdir = getSubDir(rootpath); wholeDirSize = 0; subDirSize = []; print('There are', len(subdir), 'files+folders in', rootpath); for i in range(len(subdir)): subDirSize.append(getDirSize(join(rootpath, subdir[i]))); wholeDirSize += subDirSize[i]; print('There are %.3f'%(subDirSize[i]/1024/1024), 'Mbytes in', subdir[i]); print('There are %.3f' %(wholeDirSize/1024/1024), 'Mbytes in', rootpath); print('There are %d' %(exceptionCount), 'errors in counting');