python 获取文件和文件夹大小

1、os.path.getsize可以获取文件大小

>>> import os
>>> file_name = 'E:\chengd\Cd.db'
>>> os.path.getsize(file_name)
10293248

2、获取文件夹大小,即遍历文件夹,将所有文件大小加和。遍历文件夹使用os.walk函数

  os.walk()可以得到一个三元tupple(dirpath, dirnames, filenames),

  1、第一个为起始路径,

  2、第二个为起始路径下的文件夹,

  3、第三个是起始路径下的文件。

  其中dirpath是一个string,代表目录的路径,dirnames是一个list,包含了dirpath下所有子目录的名字。filenames是一个list,包含了非目录文件的名字。这些名字不包含路径信息,如果需要得到全路径,需要使用os.path.join(dirpath, name).

import os
from os.path import join, getsize


def getdirsize(dir):
    size = 0
    for root, dirs, files in os.walk(dir):
        size += sum([getsize(join(root, name)) for name in files])
    return size


if __name__ == '__main__':
    filesize = getdirsize('E:\chengd')
    print('There are %.3f' % (filesize / 1024 / 1024 ), 'Mbytes in E:\\chengd')

执行结果:
There are 4747.763 Mbytes in E:\chengd

 

posted @ 2017-08-01 09:39  chengd  阅读(14514)  评论(0编辑  收藏  举报