批量修改xml文件中的name属性

name属性名可以随意更改,如原本未have_mask,现在改为have_mask。
如原来的xml中name属性为:
在这里插入图片描述
现在需要将name:have_mask更改为face_mask。
代码如下:


```python

import os

import os.path

from xml.etree.ElementTree import parse, Element

#批量修改xml中内容

def test():

    path = "D:\label_mask/"#xml文件所在的目录

    files = os.listdir(path)  # 得到文件夹下所有文件名称

    s = []

    for xmlFile in files:  # 遍历文件夹

        if not os.path.isdir(xmlFile):  # 判断是否是文件夹,不是文件夹才打开

            print

            xmlFile

            pass

        path = "D:\label_mask/"

        print(xmlFile)

        path1 = "D:\label_mask/"+xmlFile#定位当前处理的文件的路径

        newStr = os.path.join(path, xmlFile)

        name = "face_mask"

        dom = parse(newStr)  ###最核心的部分,路径拼接,输入的是具体路径

        root = dom.getroot()

        print(root)

        for obj in root.iter('object'):#获取object节点中的name子节点

            obj.find('name').text=name

            name1 = obj.find('name').text#修改

            print(name1)

        dom.write(path1, xml_declaration=True)#保存到指定文件

        pass

if __name__ == '__main__':

    test()

相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页