用Python實現統計文件夾的大小,需要用到的是OS模塊。OS模塊中提供了可以統計文件大小的方法:os.path.getsize(dirpath)
具體代碼如下:
ret = os.sep.join(__file__.split('/')[:-2]) name = os.path.basename(ret) sum = 0 def func(dirpath): lst = os.listdir(dirpath) # 大文件夾下文件列表,包括文件夾 for el in lst: new_dir = dirpath+'\\'+el if os.path.isfile(new_dir): getsize = os.path.getsize(new_dir) global sum sum += getsize else: func(new_dir) return sum num = func(ret) print('文件夾%s的大小為%s字節' % (name,num))
這種統計需要用到遞歸思想,首先得到需要統計大小的文件夾路徑,得到文件夾內的全部文件夾和文件,進行if判斷,如果是文件的話,計算文件大小加入sum,如果是文件夾的話,繼續執行上一步的操作,統計內部的文件和文件夾,繼續進行判斷.直到全部遍歷完畢,結束循環.
這樣的話最后得到的sum就是大文件夾內全部文件的總和
