用python遍历训练集 生成标注数据路径列表的list.txt

在深度学习中,我们常常需要生成一个list.txt来存放原始数据和标注后的数据的路径。

我的代码如下:主要涉及到循环方法、路径字符串的生成、文件读写等操作,有python基础同学应该一看就能看懂,可以在此代码基础上修改获得自己想要的功能,记得更改成你自己的路径名称哦。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Wed Aug 29 12:50:05 2018

@author: youxinlin
"""
import os

#返回原始图像路径名称
def img_file_name(file_dir):   
    L=''
    for root, dirs, files in os.walk(file_dir):  
        for file in files:  
            if file == 'img.png':  
                L = os.path.join(root, file)
#                print(L)
#                file_name = file[0:-4]  #去掉.png后缀
#                L.append(file_name)  
#                L.append(' '+'this is anohter file\'s name')
    return L 
 
#返回标注图像路径名称
def label_file_name(file_dir):   
    L=''  
    for root, dirs, files in os.walk(file_dir):  
        for file in files:  
            if file == 'label.png':  
                L = os.path.join(root, file) 
#                file_name = file[0:-4]  #去掉.png后缀
#                L.append(file_name)  
#                L.append(' '+'this is anohter file\'s name')
    return L  

imgdir = '/Users/youxinlin/Desktop/imgdata/river_2'
list_txt_file = '/Users/youxinlin/Desktop/imgdata/river_2/train_list.txt'

docs = os.listdir(imgdir) #找出文件夹下所有的文件

for name in docs:
    if name.endswith("_json"): #找到每个_json结尾的文件夹
        print(name)
        label_folder = imgdir+'/'+name
        txt_name = img_file_name(label_folder)+' '+label_file_name(label_folder)
#        print(txt_name)
        with open(list_txt_file, 'a') as f:
            f.write(txt_name+'\n')
        f.close()

生成的train_list.txt结果:

猜你喜欢

转载自blog.csdn.net/lyxleft/article/details/82225840