在学习python代码的过程中,有时候可以编写一些小程序练练手,今天,我就来分享一下我的几个python小程序,主要是来统计文件夹下各种类型的文件总数。

第一个,输入地址,返回目录下所有文件类型及其个数

import os
def count_type(path,type_dict):#这里将设置了两个变量,一个路径,一个字典for root, dirs, files in os.walk(path):#用walk()函数遍历目录下所有的文件for name in files:type_dict.setdefault(os.path.splitext(name)[1],0)  #用splitext()函数返回文件名的后缀。并且将不同类型的后缀写入字典的key,其values值就是其累计数type_dict[os.path.splitext(name)[1]] += 1return type_dict
#调用方法
a={}
count_type(path_1,a)

这里面"os.walk(path)“函数主要用于遍历文件目录下的所有文件,一般调用格式都是如上方的"for root, dirs, files in os.walk(path)”,其中path是遍历的路径,root、dirs、files是的含义分别如下:

  • root 所指的是当前正在遍历的这个文件夹的本身的地址;
  • dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录);
  • files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)。

该函数的详情用法见此链接:菜鸟教程os.walk()详解

这里的"type_dict.setdefault(key, default=None)"是字典的一种用法,在字典加入新键,如果键重复,则不改变字典。如果键不重复,则加入新键key,且值为默认值None。
该函数的详情用法见此链接:菜鸟教程setdefault()函数详解

这里的“os.path.split(path)”函数,作用是分割路径,并返回路径名和文件扩展名的元组

第二个,输入要搜索文件名,返回文件所在地址

def GetFiles(path,name):#输入地址,要搜索的文件夹名,返回文件所在地址for root,dirs,files in os.walk(path):for name_1 in files:if name in name_1:print(os.path.join(root,name_1))
#用法
GetFiles(path,'python')

这里用到了字符串的一个用法“str_1 in str_2”,其含义是:如果str_2包含str_1的所有字符,则该表达式返回True,否则返回False。
这里的“os.path.join(path1,path2)”函数,作用是把目录和文件名合成一个路径。

第三,统计目录下所有子文件夹的个数,并返回文件夹名字列表

def getfiles(path,count_list):#这里设置了两个变量,一个路径,一个是列表for root,dirs,files in os.walk(path):for file in dirs:count_list[0]+=1print(os.path.join(root,file))return count_list[0]
#用法
b=[0]#主义这里不能写成”b=[]",因为这样写在函数里直接调用b[0]会报错,因为没有b[0]
getfiles(path,b)

以上就是我写的几个python小程序,希望可以对大家有所帮助。康撒米哒~~~

用python统计文件夹下所有类型文件总数相关推荐

  1. 帮你整理文件夹下各类型文件文件整理工具

    帮你整理文件夹下各类型文件,可按后缀名,按月份进行归档整理. 比较适合用来整理手机里长期积累的照片和视频. 整理完的文件夹如下: 下载链接: https://download.csdn.net/dow ...

  2. Windows批处理命令快速获取文件夹下特定类型的文件名(2022.5.15)

    Windows批处理命令快速获取文件夹下特定类型的文件名 (2022.5.15) 1.需求分析 2.batch简介 3.代码实现 3.1 八种编程语言分别实现 3.1.1 C# 实现 3.1.2 C+ ...

  3. python遍历指定文件夹的所有文件_python 统计指定文件夹下所有的文件数量,BFS方式...

    python 统计指定文件夹下所有的文件数量 本来一直是有这个需求,只是以前写的是递归的方式处理,感觉对资源的占用不友好,而且python的最大递归深度不超过1000,所以改了一下,这里用广度优先遍历 ...

  4. python保存文件到指定文件夹_python实现指定文件夹下的指定文件移动到指定位置...

    本文主要是写了一个将指定文件夹下的指定文件类型移动到指定位置,具体内容如下 # coding:utf-8 import os import shutil import sys reload(sys) ...

  5. python下载文件到指定文件夹-python实现指定文件夹下的指定文件移动到指定位置...

    # coding:utf-8 import os import shutil import sys reload(sys) sys.setdefaultencoding('utf8') # print ...

  6. python指定文件路径_python实现指定文件夹下的指定文件移动到指定位置

    # coding:utf-8 import os import shutil import sys reload(sys) sys.setdefaultencoding('utf8') # print ...

  7. python批量生成文件夹_python实现批量获取指定文件夹下的所有文件的厂

    本文实例讲述了python实现批量获取指定文件夹下的所有文件的厂商信息的方法.分享给大家供大家参考.具体如下: 功能代码如下: import os, string, shutil,re import ...

  8. Linux:centos释放缓存,查看磁盘空间大小,xxx文件夹, 查看文件夹大小,查看剩余内存,查看xxx软件位置,统计某文件夹,统计某文件夹下目录数量,查看文件夹大小,给文件夹下所有的文件赋值权限

    一台老的PHP后台服务器,今天用 free -m 查看,发现内存跑满了. 再 top,然后按下shift+m,也就是按内存占用百分比排序,发现排在第一的进程,才占用0.9%,那是什么占用的呢?谷歌了一 ...

  9. 图解python pdf_Python合并同一个文件夹下所有PDF文件的方法

    一.需求说明 下载了网易云课堂的吴恩达免费的深度学习的pdf文档,但是每一节是一个pdf,我把这些PDF文档放在一个文件夹下,希望合并成一个PDF文件.于是写了一个python程序,很好的解决了这个问 ...

最新文章

  1. 大数据调度平台Airflow(五):Airflow使用
  2. 写程序是最轻松的事情
  3. python哪里下载import包-【Python包】模块和包导入详解(import)
  4. React上下文-Context
  5. java循环队列_Java 循环队列的实现
  6. python 量化交易_Python量化交易,tushare与talib学习示例演示,双均线(DMA)买卖策略...
  7. 使用GDAL获取网络数据
  8. Too many input arguments.
  9. Deep Learning学习随记(二)Vectorized、PCA和Whitening
  10. Factory Method (工厂方法)
  11. python bartender_bartender使用教程 - 卡饭网
  12. 他 25 岁进贝尔实验室,32 岁提信息论,40 岁办达特茅斯会议,晚年患上阿兹海默 | 人物志...
  13. Redhat rpm常用命令以及如何配置yum软件仓库使用yum install
  14. 数据安全对物联网越来越重要
  15. android 软件 打开方式有哪些,apk是什么文件 apk文件打开方法详解
  16. 初一作文写作技巧,中学写作文的七大技巧
  17. 新乡学院计算机主任教研室,新乡学院关于开展教研室之间互评互学活动方案
  18. 一个数字几个字节_字节跳动安全沙龙闭幕 多位专家解析数字经济业务安全
  19. 蜗蜗的毛衣花样c++
  20. 微信读书分享群+无限卡攻略

热门文章

  1. 共享AI?智能矩阵Atmatrix用区块链让人工智能触手可及
  2. 关于栈上分配和TLAB的理解
  3. go结构体初始化_Go语言初始化结构体的成员变量
  4. linux怎么验证tacacs认证,Tacacs+服务器部署
  5. matlab盒装图boxplot绘制及简单讲解含义
  6. 【9001】如何免费下载或截取网页上面的文字?
  7. java计算机毕业设计后勤管理系统MyBatis+系统+LW文档+源码+调试部署
  8. MFC 博思得条形码打印机 G-3106 控制程序
  9. apprtc webrtc java_apprtc的测试服务器(webrtc服务器)
  10. 【以太网硬件五】1000base-T接口物理层都做了些啥?