python批量修改LabelImg标注生成的xml文件中的物体目标名称

在数据集标注中,将检测物体命名为a,标注完后觉得a不合适,又想将标签文件中的目标a改成b,使用python解析XML文件后批量修改。

# coding: utf-8
'''
通过解析xml文件,批量修改xml文件里的标签名称,比如把标签zero改成num
'''
import os.path
import glob
import xml.etree.ElementTree as ET
#import xml.dom.minidom


path = r'D:/picture/指针仪表拍图/表盘标签/Annotations/'
for xml_file in glob.glob(path + '/*.xml'):
    # 返回解析树
    tree = ET.parse(xml_file)
    # 获取根节点
    root = tree.getroot()
    #print(root)
    # 根据标签名查找root下的所有标签,并获取其值
    # print(imgname)
    # 对所有目标进行解析
 #   dom = xml.dom.minidom.parse(os.path.join(path, xml_file))
    for member in root.findall('object'):
        objectname = member.find('name').text
        if objectname != 'hello':
            print(objectname)
            member.find('name').text = str('meter')
            #objectname = 'num'
            #with open(xml_file, 'w') as fh:
            tree.write(xml_file)
            #os.path.join(path, xml_file)

你可能感兴趣的:(python,目标检测,python,xml)