python实现xml文件内图像名字的替换
在做多种数据标定时,如RGB和深度图像,我们只需要获得RGB的图像标签,然后将label文件内的图片名替换成深度图的名字即可,具体代码如下:
import os
import os.path
from xml.etree.ElementTree import parse, Element
def test():
path = "ego_rgb_label" #rgb的label文件夹
files = os.listdir(path) #定义files为label文件夹内的所有文件
for xmlFile in files:
id = xmlFile.split('.')[0].split('b')[1] #获取文件名的id
print(id)
filename = "ego_rgb"+id+".jpg" #定义xml文件内新的图片名字
path1 = "ego_rgb_label1/"+"ego_rgb"+id+".xml" #在新的文件夹ego_rgb_label1中保存新的xml文件
newStr = os.path.join(path, xmlFile)
dom = parse(newStr)
root = dom.getroot()
print(root)
for obj in root.iter('annotation'):
obj.find('filename').text = filename
name1 = obj.find('filename').text
print(name1)
dom.write(path1, xml_declaration=True) #写入新的xml文件
# pass
if __name__ == '__main__':
test()