计算文件夹里所有内容的大小总和

递归方法


'''计算文件夹的大小'''
import os
def dir_file_size(path):
if os.path.isdir(path):
file_size = 0
dir_list = os.listdir(path)
for dir_name in dir_list:
file_path = os.path.join(path,dir_name)
if os.path.isfile(dir_name):
file_size += os.path.getsize(file_path)
else:
ret = dir_file_size(file_path)
file_size += ret
return file_size
elif os.path.isfile(path):
return os.path.getsize(path)
else:print('找不到%s文件'%path) path = r'D:\oldbaoy_python_project\day04'
ret = dir_file_size(path)
print('{0} 的大小为 {1}字节'.format(path,ret))

栈方法

import os

def dir_file_size(path):
if os.path.isdir(path):
file_size, dir_list = 0, [path]
while dir_list:
path = dir_list.pop()
dirs = os.listdir(path)
for name in dirs:
file_path = os.path.join(path, name)
if os.path.isfile(file_path):
file_size += os.path.getsize(file_path)
else:
dir_list.append(file_path)
return file_size
elif os.path.isfile(path):
return os.path.getsize(path)
else:
print('找不到%s文件' % path) path = r'D:\oldbaoy_python_project\day04'
ret = dir_file_size(path)
print('{0} 的大小为 {1}字节'.format(path, ret))

python 计算文件夹里所有内容的大小总和的更多相关文章

  1. python计算文件夹大小(linux du命令 简化版)

    C盘又满了,怎么办?用了一些垃圾清理软件(或者bat脚本),但是还是不理想,那么具体哪些文件夹下面有巨大的文件呢?windows并不能通过详细信息看到每个文件夹的大小(PS:这里所谓的文件夹的大小是指 ...

  2. 用7z.exe 压缩整个文件夹里的内容

    以下是批处理中的内容: 7z.exe a -tzip zmv9netSrc.zip "D:\IE收藏夹备份\*"pause7z.exe a -tzip zmv9netSrc.zip ...

  3. python计算文件夹大小——os.walk

    下面提供一种利用os.walk()快捷的计算指定文件夹大小的方法 话不多说,直接上代码 简略版: import os def get_file_size(file_path, size=0): for ...

  4. python 批量创建文件及文件夹(文件夹里再创文件)

    python 批量创建文件及文件夹(文件夹里再创文件)思路:文件建到哪>文件名字叫啥>创建文件夹>去新建的文件下>新建文件>给文件里边写东西>写个反馈给控制台> ...

  5. jq和js插件的各个文件夹里放置的内容

    1. demo文件夹,存放各种实例. 2. dist文件夹,全称是distribution.在某些框架中,因为开发和发布的内容或者代码形式是不一样的(比如利用Grunt压缩等等),这时候就需要一个存放 ...

  6. Web 在线文件管理器学习笔记与总结(10)查看文件夹中的内容

    ① 读取文件夹大小 a. 封装计算文件夹大小的函数 b.  打开文件夹 c. 循环判断文件夹下的内容是文件还是文件夹,如果是文件,则累积相加文件的大小:如果是文件夹,则递归调用该函数 注意两个问题: ...

  7. GIt帮助文档之忽略某些文件——忽略python虚拟环境文件夹(转)

    前言:为避免多个Python项目下安装库之间的冲突,或为轻松打包某个项目,建议在每个项目文件夹下安装Python虚拟环境,并在虚拟环境内进行操作,之后你安装的任何库和执行的任何程序都是在这个环境下运行 ...

  8. Python打包文件夹的方法小结(zip,tar,tar.gz等)

    本文实例讲述了Python打包文件夹的方法.分享给大家供大家参考,具体如下: 一.zip ? 1 2 3 4 5 6 7 8 9 10 11 import os, zipfile #打包目录为zip文 ...

  9. 用java实现删除文件夹里的所有文件

    package com.org.improve.contact; import java.io.File; public class DeletePaper { /** * @param args * ...

随机推荐

  1. PHP 调用 shell

    可以使用的命令: popenfpassthrushell_execexecsystem 1.popen resource popen ( string command, string mode ) 打 ...

  2. 异常:ORA-01013: 用户请求取消当前的操作

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/bnmnba/article/detail ...

  3. 后台(一)vue+element-ui(全局配置)

    vue init webpack    项目名称 npm install axios                    //先安装! npm install --save axios vue-ax ...

  4. antd 表格隔行变色

    rowClassName={(record, index) => { let className = 'light-row'; if (index % 2 === 1) className = ...

  5. centos 7 yum 安装 mysql glib 安装 mysql

    centos 7 YUM 在线安装版 1.wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm 下载 2.rpm ...

  6. Python Tinker学习笔记

    一直在简单看看python,这次项目需要做个界面,最好是要跨平台的,之前考虑QT,但是树莓派上QT跨平台编译一直装这有问题,后来发现Python不就可以么? 于是决定用python做个界面,但是做界面 ...

  7. ZR#999

    ZR#999 解法: 一道计数题,看到要求必须 $ m $ 个标号,所有标号至少出现一次的方案. 很容易想到可以容斥,但容斥这个东西是一种很神奇的东西,你可以看出来一道题需要容斥,但你就是不知道怎么容 ...

  8. idea创建Web项目(基于Maven多模块)

    简述:通常我们开发的项目结构是由多个modules项目组合而成,并且由有个parent的maven项目整体管理.废话少说,直接进入创建过程. 创建parent项目 1.打开idea工具,按照下图操作, ...

  9. DES算法实现

    概述(团队项目) DES是一个分组加密算法,它以64位为分组对数据加密.同时DES也是一个对称算法:加密和解密用的是同一个算法.DES是一个包含16个阶段的"替换–置换"的分组加密 ...

  10. XGBoost、LightGBM、Catboost总结

    sklearn集成方法 bagging 常见变体(按照样本采样方式的不同划分) Pasting:直接从样本集里随机抽取的到训练样本子集 Bagging:自助采样(有放回的抽样)得到训练子集 Rando ...