递归计算一个目录的大小【os.wallk()】

os.walk():

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

计算路径下文件大小:

 1     def Get_Siz(self,dir):
 2         '''
 3         功能:遍历目录,获取目录的大小。
 4         :param dir: 计算目录的大小。
 5         :return: 返回目录的大小。
 6         '''
 7         size=0
 8         for (root,dirs,files) in os.walk(dir):
 9             for name in files:
10                 try:
11                     size += os.path.getsize(os.path.join(root,name))
12                 except Exception:
13                     continue
14         return size

 

posted @ 2016-07-11 14:41  evil_liu  阅读(335)  评论(0编辑  收藏  举报