用python解决打标签时将xml文件的标签名打错

  • 问题描述:再进行达标签时将magnetic_tile的标签名错误的打成了magnetic_title,又不想一张一张的修改
  • 出现问题的xml文件
<annotation>
<folder>20201102-标注-7-次品(明显)席</folder>
<filename>Image_20201102101311737.bmp</filename>
<path>D:\ciwa\20201102-标注-7-次品(明显)席\Image_20201102101311737.bmp</path>
<source>
<database>Unknown</database>
</source>
<size>
<width>1672</width>
<height>988</height>
<depth>1</depth>
</size>
<segmented>0</segmented>
<object>
<name>magnetic_title</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>315</xmin>
<ymin>344</ymin>
<xmax>1363</xmax>
<ymax>816</ymax>
</bndbox>
</object>
</annotation>
  • 正常的xml
<annotation>
<folder>20201102-标注-7-次品(明显)席</folder>
<filename>Image_20201102100413575.bmp</filename>
<path>D:\ciwa\20201102-标注-7-次品(明显)席\Image_20201102100413575.bmp</path>
<source>
<database>Unknown</database>
</source>
<size>
<width>1672</width>
<height>988</height>
<depth>1</depth>
</size>
<segmented>0</segmented>
<object>
<name>magnetic_tile</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>327</xmin>
<ymin>351</ymin>
<xmax>1380</xmax>
<ymax>826</ymax>
</bndbox>
</object>
</annotation>
  • 解决方法:
"""
通过解析xml文件,批量修改xml文件里的标签名称,改变xml文件的标签
"""
import os.path
import glob
import xml.etree.ElementTree as ET
path = r'E:\xml\errorxml' # 文件夹路径
for xml_file in glob.glob(path + '/*.xml'):
####### 返回解析树
# print(xml_file)
tree = ET.parse(xml_file)
root = tree.getroot()
# print(root.findall('object')[0].find('name').text) # 打印测试是否是自己要的标签名
if root.findall('object')[0].find('name').text == 'magnetic_title': # 判断是不是错误的标签
root.findall('object')[0].find('name').text = 'magnetic_tile' # 将错误的标签进行修改
print(root.findall('object')[0].find('name').text) # 打印测试
tree.write(xml_file) # 将改好的文件重新写入

用python解决打标签时将xml文件的标签名打错的更多相关文章

  1. springboot项目的maven的pom.xml文件第一行报错 Unknown Error

    springboot项目的maven的pom.xml文件第一行报错 Unknown Error https://blog.csdn.net/mini_jike/article/details/9239 ...

  2. 在tomcat启动时解析xml文件,获取特定标签的属性值,并将属性值设置到静态变量里

    这里以解析hibernate.cfg.xml数据库配置信息为例,运用dom4j的解析方式来解析xml文件. 1.在javaWeb工程里新建一个java类,命名为GetXmlValue.java,为xm ...

  3. 解决Android工程里的xml文件自动提示问题

    昨天晚上看某培训机构的Android的 视频教程,看到他在写布局的XML文件时,有很方便的自动提示功能.我就在自己的Eclipse里试了一下,可是我的没实现.就到网上查,很多都说:在 Window-& ...

  4. (python功能定制)复杂的xml文件对比,产生HTML展示区别

    功能的设计初衷: 处理复杂的xml对比,屏蔽同节点先后顺序的影响 主要涉及知识点: 1.xml解析 ------- ElementTree库 2.文件比对差别 ------- difflib库 3.获 ...

  5. Python中使用dom模块生成XML文件示例

    在Python中解析XML文件也有Dom和Sax两种方式,这里先介绍如何是使用Dom解析XML,这一篇文章是Dom生成XML文件,下一篇文章再继续介绍Dom解析XML文件. 在生成XML文件中,我们主 ...

  6. 解决创建带有NameSpace的XML文件出现空白xmlns的问题

    为了能够让用户自行部署ClickOnce应用程序,需要编写一个生成ClickOnce应用程序的ClickOnce专用安装程序setup.exe,而生成这个setup.exe的方法就是编写一个XML格式 ...

  7. maven 结合mybaits整合框架,打包时mapper.xml文件,mapper目录打不进war包去问题

    首先,来看下MAVENx项目标准的目录结构: 一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,ma ...

  8. 解决Maven项目中pom.xml文件报错(Failure to transfer....)的问题

    打开pom.xml文件,查看错误,如果错误类型为:Failure to transfer.........之类的,则表明你的pom中依赖的jar包没有完全下载. 解决方法:找到你本地的maven仓库, ...

  9. eclipse 中忽略jsp, xml文件中的报错信息

    有的时候, 在eclipse中, jsp, xml 文件时运行的好好的, 可是就是在eclipse中报错, 虽然不影响功能, 但看起来很烦, 去掉这些错误警告的方法是: Windows-Prefere ...

随机推荐

  1. android 布局的android:padding 和android:margin的区别

    android:layout_marginLeft指该控件距离边父控件的边距, android:paddingLeft指该控件内部内容,如文本距离该控件的边距. 如: 当按钮分别设置以上两个属性时,得 ...

  2. C#枚举-通过值获取名字,通过名称获取值

    public enum ProtoType { Move = 1, Enter = 2, Leave = 3, Attack, Die, } print("ProtoType.Move:&q ...

  3. 【Android开发】【数据库】Realm For Android

    目录 1.Realm简介 2.环境配置 3.初始化Realm 4.创建实体 5.增 6.删 7.改 8.查 9.异步操作 10.数据库数据更新监听 11.json转对象,插入数据库 12.Demo地址 ...

  4. Java中的反射以及简单运用(原理+例子)

    Java反射 学习内容 1. 为什么要使用反射 2. 反射的概念 3. Java反射加载过程 4. 字节码对象理解 5. 获取字节码对象(.class)的三种方式 6. 反射常用API 8. 反射综合 ...

  5. java多线程的状态转换以及基本操作

    1. 新建线程 一个java程序从main()方法开始执行,然后按照既定的代码逻辑执行,看似没有其他线程参与,但实际上java程序天生就是一个多线程程序,包含了:(1)分发处理发送给给JVM信号的线程 ...

  6. Java报错: A component required a bean of type 'com.sirifeng.testmybatis.mapper.BookMapper' that could not be found.

    在学习Spring-boot-mybatis时,报错A component required a bean of type 'com.sirifeng.testmybatis.mapper.BookM ...

  7. 攻防世界——gif

    分析 只有黑白两种颜色,大小均一样.考虑代表着二进制. python脚本 ''' 同样颜色的图片的二进制数据都相同 编写思路:取二进制 -> 转ascii码 ''' white = open(r ...

  8. Python脚本----打印菜单

    def print_menu(): """打印菜单""" print ("="*50) print ("1. ...

  9. 搭建MySQL集群-注意版本

    系统环境采样(来自其他机器,直接copy过来的,在安装的机器上,按照步骤查看即可,当然这些还不够实际,后续补充) 检查系统内是否有其他mysql rpm -qa | grep mysql 是否存在my ...

  10. Gradle 安装记录

    Gradle 安装记录 官网 https://gradle.org/ 参考文档 https://gradle.org/install/ 下载地址 <二进制文件> <源码+文档> ...