1.递归实现
def sum_file_size(file):
su = 0
ret =os.listdir(file) # 拿到这个文件夹里的所有文件/文件夹的名字
for i in ret:
res = os.path.join(file,i) # 把路径进行拼接,拼接后就是每个文件的绝对路径
if os.path.isdir(res): # 判断是否是文件夹
su = sum_file_size(res)+suelif os.path.isfile(res):
file_size = os.path.getsize(res)
su +=file_size
return su
res = sum_file_size(r'D:\flin')
print(res)
2.循环实现
li = [r'D:\flin',] su_ = 0 while li: # 当li为True的时候进行循环 a = li.pop() # 删除列表的最后一个元素,返回该元素的值 path_liat = os.listdir(a) # 拿到这个文件夹里的所有文件/文件夹的名字 for i in path_liat: ret = os.path.join(a,i) # 进行拼接路径 if os.path.isdir(ret): # 判断是否是文件夹,如果是就添加这个路径到li li.append(ret) elif os.path.isfile(ret): # 如果是文件就把这个文件的大小进行相加 su_ += os.path.getsize(ret) print(su_)