Python检测文件夹里有多少图片【实现数据集图片自动统计工具】(附完整代码)

摘要:本文分享一个用Python编写的自动化工具,可递归扫描数据集目录,统计图片数量并生成文件路径列表。支持.jpg/.png/.bmp等格式,适用于深度学习数据预处理场景。

一、功能概述

  1. 核心功能
    • 递归遍历文件夹及子文件夹
      (基于os.walk实现深度搜索)
    • 统计常见图片格式文件数量
      (默认支持5种格式,可自定义扩展)
    • 生成完整图片路径列表
      (输出结果可直接用于数据加载器)
    • 异常路径检测
      (自动触发FileNotFoundError提醒)

二、代码实现

 只需修改dataset_path =后的路径

import os
from pathlib import Path

def count_images_in_dataset(dataset_path, image_extensions=['.jpg', '.jpeg', '.png', '.bmp', '.tiff']):
    """
    统计数据集中图片的数量。

    参数:
        dataset_path (str): 数据集根目录路径。
        image_extensions (list): 支持的图片文件扩展名列表。

    返回:
        int: 图片数量。
    """
    dataset_path = Path(dataset_path)  # 转换为 Path 对象
    if not dataset_path.exists():
        raise FileNotFoundError(f"数据集路径不存在: {dataset_path}")

    image_count = 0

    # 递归遍历目录
    for root, _, files in os.walk(dataset_path):
        for file in files:
            if Path(file).suffix.lower() in image_extensions:
                image_count += 1

    return image_count

if __name__ == '__main__':
    # 数据集路径
    dataset_path = r"修改这里的路径!!!"

    # 统计图片数量
    try:
        image_count = count_images_in_dataset(dataset_path)
        print(f"数据集中的图片数量: {image_count}")
    except FileNotFoundError as e:
        print(e)

三、代码解析

3.1 关键技术点

  1. 路径处理

    • 使用pathlib.Path替代传统字符串拼接
      (避免跨平台路径分隔符问题)
  2. 扩展名检测

    Path(file).suffix.lower() in image_extensions

    (统一转小写,确保大小写不敏感)

  3. 递归遍历机制

    os.walk(dataset_path)  # 返回(root,dirs,files)三元组

    (自动跳过无权访问的目录)


四、使用示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值