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

要对比目录下的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}")

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/556583.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python-django企业设备配件检修系统flask+vue

本课题使用Python语言进行开发。代码层面的操作主要在PyCharm中进行,将系统所使用到的表以及数据存储到MySQL数据库中,方便对数据进行操作本课题基于WEB的开发平台,设计的基本思路是: 前端:vue.jselementui 框架&#…

玄子Share-LVM与磁盘配额

玄子Share-LVM与磁盘配额 LVM概述 Logical Volume Manager,逻辑卷管理 Linux系统中对磁盘分区进行管理的一种逻辑机制,是建立在硬盘和分区之上的一个逻辑层动态调整磁盘容量,从而提高磁盘管理的灵活性 /boot分区用于存放引导文件&#xff…

服务器中查看CPU/GPU使用情况的常用命令

1、查看显卡 nvidia-smi2、间隔查看GPU使用情况 间隔5s刷新信息 watch -n 5 nvidia-smiCtrlC退出 参考博文:https://mbd.baidu.com/ug_share/mbox/4a83aa9e65/share?productsmartapp&tk6ff15196d305c4dd3daab94b4abb81a4&share_urlhttps%3A%2F%2Fyebd1h…

JavaSE备忘录(未完)

文章目录 基本数据类型println 小知识除法( / ) 和 Infinity(无穷) 小知识除法InfinityInfinity 在除法中正负判断 求余(%) 小知识 基本数据类型 除 int、char 的包装类分别为 Integer、Character 外,其余基本数据类型的第一个字母大写就是它的包装类。 println 小…

vscode自动生成返回值的快捷键

vscode中类似idea的altenter功能,可以添加返回值 idea中是Introduce local variable, vscode中按下command.(句号) 然后选extract to local variable或者 Assign statement to new local variable都行, 光标在分号前如图: 光标在…

Redis快速入门操作

启动Redis 进入命令行客户端 字符串命令常用操作(redis默认使用字符串来存储数据) 列表(Lists)常用操作 集合(Sets)常用操作 (无序集合且元素不可重复) 有序集合(So…

云原生虚拟数仓 PieCloudDB Database 4月更新盘点

第一部分 PieCloudDB Database 最新动态 增强本地缓存文件生命周期管理 PieCloudDB 在最新版本中增强了本地缓存文件生命周期管理,执行器节点重启之后可以继续使用之前缓存在本地的数据文件,从而节约重新从远端下载数据文件的带宽资源,提升…

DFS之剪枝(上交考研题目--正方形数组的数目)

题目 给定一个非负整数数组 A A A,如果该数组每对相邻元素之和是一个完全平方数,则称这一数组为正方形数组。 返回 A A A 的正方形排列的数目。 两个排列 A 1 A1 A1 和 A 2 A2 A2 不同的充要条件是存在某个索引 i i i,使得 A 1 [ i …

C语言简单的数据结构:双向链表的实现

目录: 1.双向链表的结构和初始化1.1双向链表的结构1.2双向链表的初始化 2.双向链表的相关操作2.1双向链表的尾插、打印和头插2.11双向链表的尾插2.12双向链表的打印2.13双向链表的头插 2.2双向链表的尾删和头删2.21双向链表的尾删2.22双向链表的头删 2.3双向链表查找…

实力认证!亚数产品入选《中国网络安全行业全景图(第十一版)》

2024年4月12日,安全牛第十一版《中国网络安全行业全景图》(以下简称“全景图”)正式发布。 亚数信息科技(上海)有限公司(以下简称“亚数”)成功入选数字证书、加解密、密钥管理三项细分领域。 此…

开发同城O2O跑腿系统源码:构建高效便捷的本地服务平台教程

为了满足用户对便捷的需求,今天我们将一同探讨如何开发一个高效便捷的同城O2O跑腿系统,以构建一个功能全面、操作简单的本地服务平台。 一、确定需求和功能 在开发同城O2O跑腿系统之前,首先需要明确系统的需求和功能。用户可以通过该系统发布…

使用LangChain和Llama-Index实现多重检索RAG

大家好,在信息检索的世界里,查询扩展技术正引领着一场效率革命。本文将介绍这一技术的核心多查询检索,以及其是如何在LangChain和Llama-Index中得到应用的。 1.查询扩展 查询扩展是一种信息检索技术,通过在原始查询的基础上增加…

python辅助QQ登入

python辅助QQ登入 import pyautogui import time import random from pyautogui import ImageNotFoundException# 生成随机等待时间,范围在1到3秒之间 random_time random.uniform(1, 3)def find_and_click(image_path, moveFalse, execute_nextTrue):try:image_l…

达梦数据库:安装达梦数据库客户端并配置python调用

前言 本文主要介绍了达梦数据库的客户端安装方案、python调用方案。本文使用的达梦数据库版本为 V8,如果使用的是其他版本,操作可能会有些许差异。 下载 前往官网安装:产品下载 | 达梦数据库 根据自己的系统版本进行选择,而后点击…

基于SpringBoot的“论坛管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“论坛管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 论坛管理系统结构图 前台首页功能界面图 用户登录…

高速公路信息化大会 | 云轴科技ZStack分享云原生超融合在高速公路行业的应用

近日,作为第二十六届高速公路信息化大会分论坛之一,由中国公路学会邀请、英特尔支持和协办《第四届英特尔智慧化方案助力高速新基建升级论坛》在合肥顺利召开。来自智慧交通建设领域的创新企业和技术专家共聚一堂,围绕改扩建高速公路提升和数…

Odoo|手把手教你Odoo集成drools,完成物料规则配置与报价单自动审核!

一、背景介绍 在实际业务中,售前根据客户需求选择相应的产品和对应的物料来生成报价单。然而,在填写报价单的过程中,可能会出现物料漏选或数量不准确的情况,这会对后续备货和生产效率造成重大影响。此外,由于产品和物料…

安装docker的PHP环境NLMP环境在国产deepin操作系统上

1: 先安装docker 安装完后执行,权限设置 sudo usermod -aG docker $USER或者sudo usermod -aG docker kentrl#添加当前用户到Docker用户组中 sudo newgrp docker#更新用户组数据,必须执行否则无效 sudo systemctl restart docker 先看目录结构: 2:按照目录结构挂载磁盘,…

渐进式交付实践:通过 Argo Rollouts 和 FSM Gateway 实现金丝雀发布

渐进式交付(Progressive delivery)是一种软件发布策略,旨在更安全、更可控地将新版本软件逐步推出给用户。它是持续交付的进一步提升,允许开发团队在发布新版本时拥有更细粒度的控制,例如可以根据用户反馈、性能指标和…

一键恢复备忘录,3个方法快速找回丢失记忆

备忘录是我们日常生活中一个重要的记录工具,用来记录待办事项、重要日期、提醒事项等等。然而,有时我们可能会不小心删除一些重要的备忘录,导致信息的丢失。 这时候,恢复备忘录就变得非常重要。在本文中,我们将介绍三…