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文件中的话,可以直接使用相应的函数加以导出就好了~

相关文章
|
10天前
|
计算机视觉 Python
如何使用Python将TS文件转换为MP4
本文介绍了如何使用Python和FFmpeg将TS文件转换为MP4文件。首先需要安装Python和FFmpeg,然后通过`subprocess`模块调用FFmpeg命令,实现文件格式的转换。代码示例展示了具体的操作步骤,包括检查文件存在性、构建FFmpeg命令和执行转换过程。
35 7
|
1月前
|
开发者 Python
Python中__init__.py文件的作用
`__init__.py`文件在Python包管理中扮演着重要角色,通过标识目录为包、初始化包、控制导入行为、支持递归包结构以及定义包的命名空间,`__init__.py`文件为组织和管理Python代码提供了强大支持。理解并正确使用 `__init__.py`文件,可以帮助开发者更好地组织代码,提高代码的可维护性和可读性。
50 2
|
1月前
|
中间件 Docker Python
【Azure Function】FTP上传了Python Function文件后,无法在门户页面加载函数的问题
通过FTP上传Python Function至Azure云后,出现函数列表无法加载的问题。经排查,发现是由于`requirements.txt`中的依赖包未被正确安装。解决方法为:在本地安装依赖包到`.python_packages/lib/site-packages`目录,再将该目录内容上传至云上的`wwwroot`目录,并重启应用。最终成功加载函数列表。
|
2月前
|
数据可视化 数据挖掘 Python
Seaborn 库创建吸引人的统计图表
【10月更文挑战第11天】本文介绍了如何使用 Seaborn 库创建多种统计图表,包括散点图、箱线图、直方图、线性回归图、热力图等。通过具体示例和代码,展示了 Seaborn 在数据可视化中的强大功能和灵活性,帮助读者更好地理解和应用这一工具。
|
2月前
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。
|
2月前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
|
SQL 数据挖掘 程序员
还在为多张Excel汇总统计发愁?Python 秒处理真香!
为什么越来越多的非程序员白领都开始学习 Python ?他们可能并不是想要学习 Python 去爬取一些网站从而获得酷酷的成就感,而是工作中遇到好多数据分析处理的问题,用 Python 就可以简单高效地解决。本文就通过一个实际的例子来给大家展示一下 Python 是如何应用于实际工作中高效解决复杂问题的。
216 0
还在为多张Excel汇总统计发愁?Python 秒处理真香!
|
21天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
20天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
8天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
101 80