更改XML标注文件中类别名以及删除某一类别
import glob
import xml.etree.ElementTree as ET
def change_xmlfile(path):
i = 0
j = 0
name1 = 'ccs'
name2 = 'uas'
name3 = 'c4s'
for xml_file in glob.glob(path + '/*.xml'):
# print(xml_file)
tree = ET.parse(xml_file)
obj_root=tree.getroot()
obj_list = tree.getroot().findall('object')
for obj in obj_list:
#删除label为'car'的标签
if obj.find('name').text == name1:
obj.find('name').text = name3
print(obj.find('name').text)
i = i+ 1
print(xml_file)
#print("change %s to %s." % (yuan_name, new_name1))
#删除label为'truck'的标签
elif obj.find('name').text == name2:
obj_root.remove(obj)
j = j+ 1
print(xml_file)
tree.write(xml_file) # 将改好的文件重新写入,会覆盖原文件
print('共完成了{}处替换'.format(i))
print('共完成了{}处删除'.format(j))
path = r'C:/Users/123/Desktop/111/' # xml文件夹路径
change_xmlfile(path)