Python实例:获取当前目录下所有文件夹大小

发布时间:2019-08-11编辑:脚本学堂
本文分享一例python代码,用于获取当前目录下所有文件夹的大小,在python 2.7下实现的,有需要的朋友参考下。

python 获取当前目录下所有文件夹的大小。
用途:删除大文件目录
环境:python 2.7

代码:
 

复制代码 代码示例:
#!/usr/bin/python 
#site www.jb200.com
#-*- coding:gbk -*- 
import urllib2 
import urllib 
import os 
import shutil 
homedir = os.getcwd() 
from os.path import join, getsize 
 
'''''
获取当前文件夹,和文件夹大小
放在要统计的文件夹下
''' 
FOLDER_LIST=[] 
 
def getdirsize(dir):   
   size = 0L   
   for root, dirs, files in os.walk(dir):   
      size += sum([getsize(join(root, name)) for name in files])   
   return size 
 
def getFileSize(size): 
   if size/1024>1: 
      if size/(1024*1024)>1: 
         return '%0.2fMB' %float(size/(1024*1024)) 
      else: 
         return '%0.2fKB' %float(size/1024) 
   else: 
      return '%0.2fKB' %float(size/1024) 
 
def sort(A,num): 
    for i in range(len(A)): 
        (A[i][0],A[i][num])=(A[i][num],A[i][0]) 
    A.sort(reverse=True) 
    for i in range(len(A)): 
        (A[i][0],A[i][num])=(A[i][num],A[i][0]) 
 
for i in os.listdir('.'): 
    if os.path.isdir(i): 
       fileSize = getdirsize(unicode(homedir+''+i,'gbk')) 
       FOLDER_LIST.append([homedir+''+i,fileSize]) 
        
       print homedir+''+i+'t文件大小:%s' %(getFileSize(float(fileSize))) 
 
sort(FOLDER_LIST,1) 
print '*********************排序后*********************' 
for arr in FOLDER_LIST: 
   print arr[0]+'t文件大小:%s' %(getFileSize(float(arr[1]))) 
   print '---------------------------------------------------------' 
 
os.system('pause')