欢迎光临
我们一直在努力

文件个数:统计当前目录下每个文件类型的文件个数

"""
文件个数
统计当前目录下每个文件类型的文件个数如果遇到文件夹,则进入文件夹继续统计,
文件夹的类型是dir。
如果文件无后缀名,则类型为other。
"""
import os

def __statistics(cur_dir, result):
    """
    统计给定目录中文件的类型和数量。

    递归地遍历目录及其子目录,统计每个目录中不同文件类型的数量。

    :param cur_dir: 当前正在处理的目录路径
    :param result: 一个字典,用于存储文件类型和数量的统计结果
    :return: 更新后的统计结果字典
    """
    files = os.listdir(cur_dir)
    for file in files:
        file_path = os.path.join(cur_dir, file)
        if os.path.isdir(file_path):
            # 如果是目录,递归处理该目录
            ext = 'dir'
            result.setdefault(ext, 0)
            result[ext] += 1
            sub_dir = os.path.join(cur_dir, file)
            __statistics(sub_dir, result)
        else:
            # 如果是文件,统计文件类型
            ext = os.path.splitext(file)[1]
            ext = ext if ext else 'other'
            result.setdefault(ext, 0)
            result[ext] += 1
    return result

def statistics(begin):
    """
    主函数,用于启动文件类型统计。

    :param begin: 统计的起始目录路径
    """
    result = {}
    os.chdir(begin)
    begin = os.getcwd()
    r = __statistics(begin, result)
    for file_type in r.keys():
        print(f'类型:{file_type} 的文件个数是{r[file_type]}')

# 从当前目录开始统计文件类型和数量
statistics('./')

赞(0) 打赏
未经允许不得转载:创想未来 » 文件个数:统计当前目录下每个文件类型的文件个数

评论 抢沙发

评论前必须登录!

 

更好的Python学习

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册