千家信息网

python中遍历文件夹并统计所有文件大小

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,python中遍历文件夹并统计所有文件大小,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。递归解递归解题的思路没什么出奇的,代码特别简洁易
千家信息网最后更新 2026年11月03日python中遍历文件夹并统计所有文件大小

python中遍历文件夹并统计所有文件大小,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

递归解

递归解题的思路没什么出奇的,代码特别简洁易懂。遍历一个目录,累计所有文件的大小,对于子目录则调用自身递归统计子目录。

需要注意的有两点:

一、路径书写强烈建议用"/",这种写法在windows系统和linux系统通用。

二、文件与路径拼接方法,经time测试用f字符串拼接方式比用os.path.join()方式拼接效率略高一些,而且书写也简洁一些。

import osdef getdir1(path):name_list = os.listdir(path)size = 0for i in name_list:j = f'{path}/{i}'  # 文件和路径拼接用字符串+更直接更高效# j = os.path.join(path,i)if os.path.isdir(j):size += getdir1(j)else:size += os.path.getsize(j)return sizeprint(getdir1('D:/学习资料'))out:304372584432

循环解

循环解题的思路要注意以下两点:

一、对列表的pop和append用法,这样实际是将列表当成了堆栈使用,后进先出。

二、注意 while name_dir的写法,这个是判断name_dir列表是否为空,为空则结束循环,不为空则循环。

def getdir2(path):size = 0name_dir = [path]while name_dir:name_list = os.listdir(ret := name_dir.pop())for i in name_list:j = f'{ret}/{i}'if os.path.isfile(j):size += os.path.getsize(j)else:name_dir.append(j)return sizeprint(getdir2('D:/学习资料'))out:304372584432

看完上述内容,你们掌握python中遍历文件夹并统计所有文件大小的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

文件 循环 大小 统计 方法 路径 递归 文件夹 简洁 内容 写法 子目 子目录 字符 字符串 学习资料 思路 方式 更多 系统 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 为想互联网科技怎么样 科技互联网公司装修 为想互联网科技 万易互联网科技有限公司 互联网 新科技 互联网科技股有哪些 须眉科技是互联网公司吗 互联网大会黑科技排名 花神(南京)互联网科技有限公司 企晟互联网信息科技有限公司 威龙国际互联网科技公司 朱啸虎曾投资哪些互联网科技企业 合肥互联网科技公司公章图片 互联网相关科技技术 易企秀互联网科技是做什么的 信承诺互联网科技有限公司 深圳互联网科技园地址 山东蛋芒互联网科技有限公司 上海旺乐尼互联网科技有限公司 科技互联网企业在行动 瑰夏咖啡 互联网公司 科技公司 万易互联网科技有限公司 百单互联网科技有限公司 长亮科技 互联网金融 科技伦理 互联网公司 团飞科技与伯堂互联网服务平台 工业互联网科技创业 华人运通互联网科技公司 承德科技产业互联网平台
0