You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何生成exp目录下图片与labels子目录对应txt文件的配对列表

代码调整方案

你现有代码的核心问题如下:

  1. 遍历../exp/目录时没有过滤文件类型,会将labels子文件夹也纳入遍历范围
  2. 没有实现图片和txt文件按文件名前缀匹配的逻辑

第一步:导入依赖库

确保文件开头已经导入所需库:

import glob
import os

第二步:修改__init__方法逻辑

def __init__(self):
    self.imgs_path = "../exp/"
    self.labels_dir = os.path.join(self.imgs_path, "labels/")
    self.data = []
    
    # 仅筛选exp目录下的JPG格式图片
    for img_path in glob.glob(os.path.join(self.imgs_path, "*.JPG")):
        # 提取图片的文件名前缀(不含后缀和路径)
        img_base_name = os.path.basename(img_path)
        file_prefix = os.path.splitext(img_base_name)[0]
        # 拼接得到对应txt文件名
        txt_name = f"{file_prefix}.txt"
        
        # 可选:校验对应标签文件是否存在,避免无效数据
        if os.path.exists(os.path.join(self.labels_dir, txt_name)):
            self.data.append([img_path, txt_name])
    
    print(self.data)
    self.img_dim = (416, 416)

补充优化说明

如果你的图片后缀存在小写jpg的情况,可以将遍历图片的规则修改为下面的写法,兼容大小写格式:

glob.glob(os.path.join(self.imgs_path, "*.[jJ][pP][gG]"))

内容的提问来源于stack exchange,提问作者Samah wa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 01:15:04