这两个函数的功能:得到给定目录的文件夹个数、文件数,以及文件大小

walkFolders函数没有用到os.walk函数,是自己递归调用的;walkfunc函数用到了os.walk函数,方便了很多。

import os

from os.path import join,getsize

#没有使用os.walk函数

def walkFolders(folder):

folderscount=0

filescount=0

size=0

folders=os.listdir(folder) #os.listdir(dirname):列出dirname下的目录和文件

for item in folders:

path=os.path.join(folder,item) #os.path.join(path,name):连接目录与文件名或目录

if os.path.isdir(path): #os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false

folderscount+=walkFolders(path)[0]+1

filescount+=walkFolders(path)[1]

size+=walkFolders(path)[2]

elif os.path.isfile(path): #os.path.isfile(name):判断name是不是一个文件,不存在name也返回false

filescount+=1

size+=getsize(path) #os.path.getsize(filename):获取filename的文件大小, 单位为字节

return folderscount,filescount,size

#使用了os.walk函数

def walkfunc(folder):

folderscount=0

filescount=0

size=0

#walk(top,topdown=True,οnerrοr=None)

#top表示需要遍历的目录树的路径

#topdown的默认值是"True",表示首先返回目录树下的文件,然后在遍历目录树的子目录

#参数onerror的默认值是"None",表示忽略文件遍历时产生的错误.如果不为空,则提供一个自定义函数提示错误信息后继续遍历或抛出异常中止遍历

for root,dirs,files in os.walk(folder): #返回一个三元组:当前遍历的路径名,当前遍历路径下的目录列表,当前遍历路径下的文件列表

folderscount+=len(dirs)

filescount+=len(files)

size+=sum([getsize(join(root,name)) for name in files])

return folderscount,filescount,size

if __name__ == '__main__':

folder=os.getcwd() #os.getcwd():获得当前工作目录

folderscount,filescount,size=walkFolders(folder)

print folder,folderscount,filescount,size

folderscount,filescount,size=walkfunc(folder)

print folder,folderscount,filescount,size

python遍历文件夹下所有文件大小_python遍历文件夹——两种遍历本地文件记录文件夹个数、文件数及文件大小的方法...相关推荐

  1. c++层次遍历_数据结构与算法,弄懂图的两种遍历方式

    1 引言   遍历是指从某个节点出发,按照一定的的搜索路线,依次访问对数据结构中的全部节点,且每个节点仅访问一次.  在二叉树基础中,介绍了对于树的遍历.树的遍历是指从根节点出发,按照一定的访问规则, ...

  2. python 遍历list获取元素的序号_Python列表(List)的三种遍历(序号和值)方法

    三种遍历列表里面序号和值的方法: 最近学习python这门语言,感觉到其对自己的工作效率有很大的提升,特在情人节这一天写下了这篇博客,下面废话不多说,直接贴代码#!/usr/bin/env pytho ...

  3. python调用hive与java调用区别_Python操作Hive的两种方法总结

    方法一:使用PyHive库pip install sasl pip install thrift pip install thrift-sasl pip install PyHive Python脚本 ...

  4. 使用shell遍历文件夹下的所有图片,并复制一定数量的到新建的子文件夹中

    使用shell遍历一个文件夹下的图片,并复制一定数量的到新建的子文件夹下 大量数据存在同一个文件夹中,想要提取部分使用时直接cp无法准确的控制数量,且将复制的图片又一股脑儿存放在同一新文件夹下仿佛不太 ...

  5. python入门——Python的两种编程语言:交互式和文件式

    文章目录 一.Python的两种编程语言 1. 交互式 2. 文件式 以下内容来自于中国慕课网中<零基础学Python语言CAP>课程的学习笔记. 一.Python的两种编程语言 1. 交 ...

  6. hashmap两种遍历总结!

    1.hashmap两种遍历效率1:2----entry----单个遍历两次 public class HashMapTest { public static void main(String[] ar ...

  7. 哪两种遍历方式可以唯一确定一棵二叉树,结合力扣105题

    对于一棵树的前中序三种顺序的遍历方式,任何一种单独拿出来都无法确定一棵树,那么两种遍历方式得到的节点数据能否构建一棵二叉树呢? 先来看看能有哪几种组合: 先序遍历 + 中序遍历 后序遍历 + 中序遍历 ...

  8. java map遍历_Java中Map集合的两种遍历方式

    Java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下Java中Map集合的两种遍历方式! 关于遍历Map集合的几 ...

  9. java中两种遍历集合的方式_Java中Map集合的两种遍历方式

    Java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下Java中Map集合的两种遍历方式! 关于遍历Map集合的几 ...

  10. 计算机音乐播放器设置,Win7系统下设置默认音乐播放器的两种方法

    可能很多新手用户不知道Win7系统下怎么设置默认音乐播放器?我们习惯将某一程序设置为默认打开方式,音乐播放器也可以这样子的.一些用户想把酷狗播放器.或者qq音乐设置为默认音乐播放器,只要打开音乐文件, ...

最新文章

  1. python工具使用笔记
  2. python event多线程回调
  3. 【CyberSecurityLearning 69】反序列化漏洞
  4. iOS开发网络篇—文件的上传
  5. Oracle的Net Configuration Assistant 配置
  6. 终于……我的游戏………简体版就要发布了!
  7. 如何基于阿里云搭建适合初创企业的轻量级架构?
  8. 笔记︱信用风险模型(申请评分、行为评分)与数据准备(违约期限、WOE转化)
  9. HMC 命令行登陆设置
  10. 【论文笔记】视频分类系列 Appearance-and-Relation Networks for Video Classification (ARTNet)
  11. 阿拉伯数字金钱转中文大写
  12. ubuntu安装github 3D渲染库dirt
  13. Google谷歌新手SEO优化教程篇【1】
  14. CSS 滚动条,浮动问题,图片bug
  15. docker容器内开启22 ssh_细述docker容器中创建SSH服务镜像
  16. vue移动端页面调用手机拍照_vue实现PC端调用摄像头拍照、移动端调用手机前置摄像头人脸录入、及图片旋转矫正、压缩上传base64格式/文件格式...
  17. SAP ABAP DUMP GETWA_NOT_ASSIGNED 指针未分配错误
  18. 【真题分享】2021京东春招java开发面试
  19. 2021年终总结:平凡的一年
  20. 多伦多大学计算机科学专业录取ib,多伦多大学要求IB多少分

热门文章

  1. 046_Timeline时间线
  2. 用计算机语言编写的完成一定功能,C+的+预备知识.ppt
  3. java分层命名_JAVA基础篇(5)-POJO的命名规则
  4. linux远程白名单,Linux的Iptables命令实战2—设置白名单
  5. dr. unarchiver_P160 四季可穿,数仙女尽折腰!醉高版本Dr马丁靴女2020秋冬新款牛筋底1460英伦风8孔系带复古机车军靴真皮短靴马丁靴...
  6. win7安装gtp磁盘_GPT转MBR分区格式安装win7/win10系统教程
  7. python0.1+0.2不等于0.3_为什么0.1 + 0.2不等于0.3?
  8. wordpress上传主题错误解决方法
  9. android字体行距,android textview设置字体的行距和字间距
  10. 针对不同的Cookie做页面缓存