zl程序教程

您现在的位置是:首页 >  其他

当前栏目

【深度学习脚本】批量替换xml文件中的某个元素内容

文件批量学习XML 脚本 深度 内容 元素
2023-09-11 14:20:36 时间
import os.path
import xml.dom.minidom

# 将"slot"都替换为:"slot_x"
# path为需要替换标签的目标文件夹
path = r'D:\01-APA\2022-5-21\0-task\model\model2\val\ann'
files = os.listdir(path)  # 得到文件夹下所有文件名称
s = []
#print('------------开始替换标签名称!--------------')
for xmlFile in files:  # 遍历原标签文件夹
    if not os.path.isdir(xmlFile):  # 判断是否是文件夹,不是文件夹才打开
        dom = xml.dom.minidom.parse(os.path.join(path, xmlFile))
        root = dom.documentElement
        #替换name节点
        pathNode = root.getElementsByTagName('name')
        #print(pathNode)
        #print(len(pathNode))
        j = len(pathNode)
        for i in range(j):
            if pathNode[i].firstChild.data == "slot":
                #print("替换前的名称为:", pathNode[i].firstChild.data)
                pathNode[i].firstChild.data = "slot_v"
                #print("i为:", i)
                #print("替换后的名称为:", pathNode[i].firstChild.data)
                i = i + 1
                with open(os.path.join(path, xmlFile), 'w',encoding='utf8') as fh:
                    dom.writexml(fh)

print('------------标签名称替换成功!--------------')