天天看點

python 擷取目前目錄下的所有檔案_Python 擷取目前目錄下所有檔案夾的大小 | 學步園...

Python 擷取目前目錄下所有檔案夾的大小。友善一目了然的去删除大檔案目錄

python 2.7下實作

#!/usr/bin/python

#-*- 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')