pyhton代码统计一个文件夹中所有文件的总大小

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):   # 判断是否是文件夹
            name_size = sum_file_size(res)+su
            su +=name_size
        elif 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_)

猜你喜欢

转载自www.cnblogs.com/whileke/p/11354528.html
今日推荐