在进行计算一个文件夹内容大小的时候,我们要考虑文件夹内都有什么内容,可能都是一个一个的单文件,也有可能都是子文件夹,或者二者都有,既然要计算整个文件夹的大小,我们当然要计算每一个文件的大小以及每一个子文件夹下的每一个子文件。计算每一个文件的大小我们肯定都可以计算到,或者如果我们知道一个文件夹内有子文件夹的数量,一个个遍历子文件夹的内容进行计算,但是如果我们不知道这个文件夹内到底有多少子文件夹呢?所以,根据我的思路,可以使用递归的方式进行计算每一个文件及每一个字文件夹的大小,但有个弊端就是在python中递归有最大递归层数,说不定会有哪个变态套了N多层文件夹,这样的话我们的程序可能会抛出异常,所以我们还要做一定的异常处理,总之闲话少说,见代码吧。代码如下:
1 import os 2 total_size=0 3 def file_size(path): 4 global total_size 5 path=os.path.abspath(path) 6 file_list=os.listdir(path) 7 for i in file_list: 8 i_path = os.path.join(path, i) 9 if os.path.isfile(i_path): 10 total_size += os.path.getsize(i_path) 11 else: 12 try: 13 file_size(i_path) 14 except Recursi : 15 print('递归操作时超出最大界限') 16 return total_size 17 18 19 print(file_size('D:\\红军不怕远征难\\苍老师精彩集锦'))
继续阅读与本文标签相同的文章
-
什么是网络爬虫?有什么用?怎么爬?终于有人讲明白了
2026-05-18栏目: 教程
-
11个点让你的Spring Boot启动更快
2026-05-18栏目: 教程
-
2019年9月份 阿里云域名优惠口令汇总
2026-05-18栏目: 教程
-
《安全说道》第三期 | 你家“大门”关好了吗?猪猪侠有话说
2026-05-18栏目: 教程
-
为什么支付宝有这么多“原生”技术牛人?
2026-05-18栏目: 教程
