随机挑选images文件夹中图片以及对应labels文件夹中的标签

        为了实现随机删除2000个txt文件及其对应的图片,我们需要先得到所有txt文件的列表,然后从中随机选择2000个文件。接着,我们找到每个选中的txt文件对应的图片文件,并将它们删除。

import os
import random
import shutil

def random_delete_files(images_folder, labels_folder, num_files_to_delete):
    # 获取labels文件夹中所有txt文件的列表
    txt_files = [file for file in os.listdir(labels_folder) if file.endswith('.txt')]
    
    # 确保要删除的文件数量不超过实际文件数量
    num_files_to_delete = min(num_files_to_delete, len(txt_files))

    # 从所有txt文件中随机选择要删除的文件
    files_to_delete = random.sample(txt_files, num_files_to_delete)

    for txt_file in files_to_delete:
        # 获取对应的图片文件名
        image_filename = os.path.splitext(txt_file)[0] + '.jpg'  # 假设图片格式为.jpg,根据实际情况修改
        image_path = os.path.join(images_folder, image_filename)

        # 检查是否存在同名图片文件并删除
        if os.path.exists(image_path):
            os.remove(image_path)

        # 删除对应的txt文件
        txt_path = os.path.join(labels_folder, txt_file)
        os.remove(txt_path)

# 替换为你的images和labels文件夹路径,以及要删除的文件数量
images_folder_path = '/path/to/your/images/folder'
labels_folder_path = '/path/to/your/labels/folder'
num_files_to_delete = 2000

random_delete_files(images_folder_path, labels_folder_path, num_files_to_delete)

        请根据你的实际情况,将images_folder_pathlabels_folder_path替换为对应的文件夹路径,并将num_files_to_delete设置为你想要随机删除的文件数量。

        这段代码将在labels文件夹中随机删除指定数量的txt文件,并且将对应名称的图片文件从images文件夹中删除。

若出现

Traceback (most recent call last):
  File "C:/YOLO5.0/yolov5/txtdelete.py", line 25, in <module>
    delete_empty_txt_and_images(labels_folder_path, images_folder_path)
  File "C:/YOLO5.0/yolov5/txtdelete.py", line 5, in delete_empty_txt_and_images
    for txt_filename in os.listdir(labels_folder):
FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'DOTA_split/train/labeis'

报错

        则可使用绝对路径的方式,除去报错。请注意,在Python字符串中,反斜杠\被用作转义字符。为了在字符串中表示路径,需要使用两个反斜杠\\或者使用原始字符串(在字符串前加rR)。

下面是使用原始字符串的示例:

images_folder_path = r'C:\YOLO5.0\yolov5\split\train\imagesr'

或者使用双反斜杠的示例:

images_folder_path = 'C:\\YOLO5.0\\yolov5\\split\\train\\imagesr'

无论你选择哪种方式,确保路径信息正确,包括文件夹名称的拼写和路径是否存在。同时,也要确保你有足够的权限来操作这些文件夹中的文件。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Karry D

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

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

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

打赏作者

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

抵扣说明:

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

余额充值