Python脚本:批量改变xml文件的内容
2021/9/23 22:11:17
本文主要是介绍Python脚本:批量改变xml文件的内容,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
由于标注时候的粗心大意,pedestrian被写的五花八门,因此标注生成的xml文件里的name节点就不统一,后续读入就会出错。
因此就需要统一更改name节点的pedestrian,如果不是pedestrian就改成pedestrian,简单但有效。
# coding:utf-8 # fuction:批量纠正节点<name/>的pedestrian # date:20210923 import os import os.path import xml.dom.minidom # path="../xml/" path = '/home/xl/WorkShop_Dataset/annores/ALL_People_Annotations/val/' files = os.listdir(path) # 得到文件夹下所有文件名称 s = [] for xmlFile in files: # 遍历文件夹 if not os.path.isdir(xmlFile): # 判断是否是文件夹,不是文件夹才打开 print(xmlFile) # xml读取操作 # 将获取到的xml文件名送入到dom解析 # 错误代码:dom=xml.dom.minidom.parse(xmlFile) dom = xml.dom.minidom.parse(os.path.join(path, xmlFile)) root = dom.documentElement ###获取标签对name的值 # xmin = root.getElementsByTagName('xmin') # ymin = root.getElementsByTagName('ymin') name = root.getElementsByTagName('name') # 修改相应标签的值 for i in range(len(name)): if name[i].firstChild==None: break else: # a = name[i].firstChild.data # print(type(a)) if name[i].firstChild.data != 'pedestrian': print(name[i].firstChild.data) name[i].firstChild.data = 'pedestrian' print(name[i].firstChild.data) #if=='pedestrian' break #else # # for j in range(len(ymin)): # print # ymin[j].firstChild.data # ymin[j].firstChild.data = 100 # print # ymin[j].firstChild.data # 保存修改到xml文件中 with open(os.path.join(path, xmlFile), 'w') as fh: dom.writexml(fh) print('恭喜,写入name成功!')
这篇关于Python脚本:批量改变xml文件的内容的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享