Python怎样统计文件夹(包括子文件夹)中文件的个数?

简介: 本文介绍基于Python语言,统计文件夹中文件数量;若其含有子文件夹,还将对各子文件夹中的文件数量一并进行统计的方法~

  本文介绍基于Python语言,统计文件夹中文件数量;若其含有子文件夹,还将对各子文件夹中的文件数量一并进行统计的方法。

  最近,需要统计多个文件夹内部的文件数量,包括其中所含子文件夹中的文件数量。其中,这多个需要统计文件数量的文件夹都放在一个总文件夹内。

  这一操作基于Python来实现是非常方便、快捷的。话不多说,我们对相关的Python代码来进行详细介绍。

import os

target_path='H:/2020/'

all_content=os.listdir(target_path)
print('All content numbers is',len(all_content))

count_num=1
for content in all_content:
    if os.path.isdir(target_path+content):
        all_sub_content=os.listdir(target_path+content)
        if len(all_sub_content)!=361:
            print(count_num,content,'sub content number is',len(all_sub_content))
            count_num=count_num+1

  可以看到,代码是非常非常简洁的。

  首先,target_path是我们的总文件夹路径,用os.listdir来获取总文件夹下面的全部内容(包括文件与子文件夹),并打印总文件夹下全部内容的数量(包括文件与子文件夹数量)。随后,用if判断与isdir函数来获取总文件夹下的全部子文件夹,并对子文件夹依次利用同样的方式来获取其内部文件的数量,并打印出来。

  其中,上述代码的以下部分:

        if len(all_sub_content)!=361:
            print(count_num,content,'sub content number is',len(all_sub_content))
            count_num=count_num+1

  是我为了方便,直接对不满足文件个数为361的子文件夹加以筛选,从而只输出文件个数非361的子文件夹名称;如果大家只是需要对每一个文件夹或子文件夹中的文件个数加以统计而不需要进行筛选,将这一部分的if判断语句去掉就可以啦~

  上面是对代码的初步介绍,如果大家还是不太清楚,可以查看具体的分步骤解释如下:

import os: 引入 os 模块以访问操作系统中的文件和目录
target_path = 'H:/2020/': 将文件路径存储在变量 target_path 中
all_content = os.listdir(target_path): 使用 os 模块中的 listdir() 函数列出 target_path 中的所有内容,并将结果存储在变量 all_content 中
print('All content numbers is', len(all_content)): 输出所有内容的数量,使用内置函数 len() 获取 all_content 的长度
count_num = 1: 初始化变量 count_num 为 1,用于输出信息时计数
for content in all_content:: 遍历 all_content 中的每个内容
if os.path.isdir(target_path+content):: 检查 content 是否是一个子目录,使用 os 模块中的 isdir() 函数
all_sub_content = os.listdir(target_path+content): 如果是子目录,则使用 listdir() 函数列出子目录中的所有内容,并将结果存储在变量 all_sub_content 中
if len(all_sub_content) != 361:: 如果子目录中的文件数量不足 361,则执行下一步
print(count_num, content, 'sub content number is', len(all_sub_content)): 输出当前检查的子目录的名称和文件数量,并将计数器 count_num 增加 1
循环结束后,函数执行结束

  最后,可以看到上述代码我是直接将结果打印出来的;如果实际情况中文件或文件夹数量很多,大家需要将结果输出到.csvExcel文件中的话,可以直接使用相应的函数加以导出就好了~

相关文章
|
1月前
|
安全 Linux 数据安全/隐私保护
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
python知识点100篇系列(15)-加密python源代码为pyd文件
|
14天前
|
开发者 Python
Python中__init__.py文件的作用
`__init__.py`文件在Python包管理中扮演着重要角色,通过标识目录为包、初始化包、控制导入行为、支持递归包结构以及定义包的命名空间,`__init__.py`文件为组织和管理Python代码提供了强大支持。理解并正确使用 `__init__.py`文件,可以帮助开发者更好地组织代码,提高代码的可维护性和可读性。
16 2
|
28天前
|
数据可视化 数据挖掘 Python
Seaborn 库创建吸引人的统计图表
【10月更文挑战第11天】本文介绍了如何使用 Seaborn 库创建多种统计图表,包括散点图、箱线图、直方图、线性回归图、热力图等。通过具体示例和代码,展示了 Seaborn 在数据可视化中的强大功能和灵活性,帮助读者更好地理解和应用这一工具。
39 3
|
30天前
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。
|
1月前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
|
1月前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
42 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
【Python从入门到实践4.0】文件夹、文件相关操作
【Python从入门到实践4.0】文件夹、文件相关操作
|
Python Windows Linux
Python文件夹与文件的操作
转自该博客内容:http://www.cnblogs.com/yuxc/archive/2011/08/01/2124012.html ,放在此处用于本人记录 最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动。 有关文件夹与文件的查找,删除等功能 在 os 模块中实现。使用时需先导入这个模块
1503 0
|
6天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
6天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!