python 获取文件和文件夹大小

时间:2021-12-21 02:43:56

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