zoukankan      html  css  js  c++  java
  • 通过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:\红军不怕远征难\苍老师精彩集锦'))
  • 相关阅读:
    使用STM32驱动双通道12位DAC(TLV5618)
    CentOS 7挂载离线yum源
    有关于Git的使用的一点心得和说明
    STM32单片机学习心得——MDK使用技巧
    小米手机连接ADB
    我看操作系统的发展
    centos7下cups + samba共打印服务
    CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤
    centos7 更新yum源
    CentOS7 安装Odoo9.0
  • 原文地址:https://www.cnblogs.com/zepc007/p/9557232.html
Copyright © 2011-2022 走看看