当前位置: 首页> 游戏> 游戏 > 【脚本工具库】随机删除数据 - 图像和标签对应(附源码)

【脚本工具库】随机删除数据 - 图像和标签对应(附源码)

时间:2025/7/10 18:23:20来源:https://blog.csdn.net/weixin_45694817/article/details/139959275 浏览次数:0次

在处理数据集时,我们有时需要随机删除一定数量的图像及其对应的标签文件,以达到平衡数据集或进行其他数据处理的目的。手动删除这些文件不仅耗时,而且容易出错。为了解决这个问题,我们可以编写一个Python脚本,使用os和random库来自动化这个过程。本文将详细介绍如何编写一个随机删除图像及其对应标签文件的脚本。

准备工作

在开始之前,请确保你的系统上已经安装了Python环境。os和random是Python标准库,自带无需安装。

脚本源码

以下是完整的Python脚本源码,该脚本可以从指定的图像文件夹中随机选择指定数量的图像文件及其对应的标签文件进行删除。

import os
import random# 文件夹路径配置
photos_folder_path = r'D:\A_Python\ultralytics-8.1.0\data\all\images\train'  # 照片文件夹路径
txt_folder_path = r'D:\A_Python\ultralytics-8.1.0\data\all\labels\train'  # 文本文件夹路径# 获取照片文件夹内所有文件
photos_files = [f for f in os.listdir(photos_folder_path) if os.path.isfile(os.path.join(photos_folder_path, f))]# 确保能够随机选择23886个文件
if len(photos_files) < 23886:print("照片数量不足23886张,程序终止。")
else:# 随机选择23886张照片selected_photos = random.sample(photos_files, 23886)for photo in selected_photos:photo_path = os.path.join(photos_folder_path, photo)txt_filename = os.path.splitext(photo)[0] + '.txt'txt_path = os.path.join(txt_folder_path, txt_filename)# 检查并删除照片if os.path.exists(photo_path):os.remove(photo_path)print(f"删除照片文件:{photo}")# 检查并删除对应的TXT文件if os.path.exists(txt_path):os.remove(txt_path)print(f"删除TXT文件:{txt_filename}")print("删除操作完成。")
使用说明
  1. 修改photos_folder_pathtxt_folder_path为你自己本地的文件夹路径。
  2. 运行脚本,程序会随机选择指定数量的图像文件及其对应的标签文件进行删除。
  3. 确保照片文件夹中有足够数量的图像文件,否则程序将终止并提示文件数量不足。
总结

这个脚本可以帮助你轻松地随机删除指定数量的图像及其对应的标签文件,节省了大量的时间和精力。希望这个教程对你有所帮助。如果你有任何问题或建议,欢迎在评论区留言讨论。

感谢阅读!

关键字:【脚本工具库】随机删除数据 - 图像和标签对应(附源码)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: