#使用python代码统计一个文件夹中所有文件的大小 #实际应用:云端传文件,普通用户和vip用户云端文件夹大小一样. 需要统计文件夹的大小 # 统计"E:\PycharmProjects\playboy_2"文件夹的大小 #拿到这个文件夹下所有的文件夹和文件 #是文件就取大小 #是文件夹就再打开这个文件夹: 文件/文件夹 #解题思想就是: #1.根据要查看的文件夹路径,得到一个文件名列表 #2.循环取出列表中所有的文件名 #3.把文件名和给的已知路径拼接成完整路径 #4.判断完整路径是不是一个文件夹, 如果是文件夹就重复 1 #5.如果不是文件夹就计算这个完整路径文件的大小 #递归方法 import os def func(path): size_sum = 0 names = os.listdir(path) #2018-8-22 下面的内容 返回一个列表 for name in names: #循环列表里面的名字 f_path = os.path.join(path,name) #拼接路径 得到一个完整的路径 if os.path.isdir(f_path): #判断是否是一个文件夹 size = func(f_path) size_sum = size_sum + size else: #文件 size_sum += os.path.getsize(f_path) return size_sum ret = func("E:\PycharmProjects\playboy_2\2018-8-22") print(ret) #循环方法 import os size = 0 lst = ["E:\PycharmProjects\playboy_2\2018-8-22"] while lst: path = lst.pop() name_list = os.listdir(path) #得到已知文件夹内所有的文件名列表 for name in name_list: #循环取出列表中的所有文件名 f_path = os.path.join(path,name) #拼接成完整路径 if os.path.isdir(f_path): #判断完整路径是不是文件夹 lst.append(f_path) else: size += os.path.getsize(f_path) print(size)