深度学习数据处理——对比标签文件与图像文件,把没有打标签的图像文件标记并删除

要对比目录下的jpg文件与json文件,并删除那些没有对应json文件的jpg文件,这个在深度学习或者机器学习时常会遇到。比如对一个数据集做处理时,往往会有些图像不用标注,那么这张图像是没有对应的标签文件的,这个时候又不想这些没有标注的图像文件占用了空间,所以则要删除掉没有标签对应的图像文件。

步骤概述

  1. 读取目录中的文件列表:首先需要列出目录下所有的文件,通常可以通过文件系统API来实现。
  2. 分离文件扩展名:对于每个jpg文件,需要获取其文件名并分离出扩展名,以便与json文件进行比较。
  3. 对比文件名:将jpg文件的文件名(不包含扩展名)与json文件名进行对比,查找是否存在对应的json文件。
  4. 删除无对应文件:如果发现某个jpg文件没有对应的json文件,则执行删除操作。

示例代码(Python)

import os

directory = '/path/to/directory'

# 获取目录下所有文件和文件夹的列表
files = os.listdir(directory)

# 创建一个空列表来存储需要删除的jpg文件
jpg_files_to_delete = []

# 遍历文件列表
for file in files:
    # 检查文件是否为jpg格式
    if file.lower().endswith('.jpg'):
        # 分离文件名和扩展名
        file_name = os.path.splitext(file)[0]
        # 检查是否存在同名的json文件
        if not os.path.exists(f"{directory}/{file_name}.json"):
            # 如果不存在,则添加到删除列表
            jpg_files_to_delete.append(file)

# 删除所有没有对应json文件的jpg文件
for file in jpg_files_to_delete:
    file_path = os.path.join(directory, file)
    try:
        os.remove(file_path)
        print(f"已删除文件:{file_path}")
    except OSError as e:
        print(f"删除文件时出错:{file_path},错误信息:{e}")

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知来者逆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值