通过Python计算一个文件夹大小

在进行计算一个文件夹内容大小的时候,我们要考虑文件夹内都有什么内容,可能都是一个一个的单文件,也有可能都是子文件夹,或者二者都有,既然要计算整个文件夹的大小,我们当然要计算每一个文件的大小以及每一个子文件夹下的每一个子文件。计算每一个文件的大小我们肯定都可以计算到,或者如果我们知道一个文件夹内有子文件夹的数量,一个个遍历子文件夹的内容进行计算,但是如果我们不知道这个文件夹内到底有多少子文件夹呢?所以,根据我的思路,可以使用递归的方式进行计算每一个文件及每一个字文件夹的大小,但有个弊端就是在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 RecursionError:
15                 print('递归操作时超出最大界限')
16     return total_size
17 
18 
19 print(file_size('D:\\红军不怕远征难\\苍老师精彩集锦'))

 

转载于:https://www.cnblogs.com/zepc007/p/9557232.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值