递归计算一个目录的大小【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
学习是一种态度,坚持是质变的利器!