广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python怎么批量修改xml文件中的信息
  • 500
分享到

python怎么批量修改xml文件中的信息

2023-06-26 05:06:54 500人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章跟大家分析一下“python怎么批量修改xml文件中的信息”。内容详细易懂,对“Python怎么批量修改xml文件中的信息”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“p

这篇文章跟大家分析一下“python怎么批量修改xml文件中的信息”。内容详细易懂,对“Python怎么批量修改xml文件中的信息”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“python怎么批量修改xml文件中的信息”的知识吧。

python是什么意思

Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。

项目场景:

在做目标检测时,重新进行标注会耗费大量的时间,如果能够批量对xml中的信息进行修改,那么将会节省大量的时间,接下来将详细介绍如何修改标注文件xml中的相关信息。

问题描述:

例如:当我有一批标注好的xml文件,文件格式如下图所示 :

<?xml version='1.0' encoding='us-ascii'?><annotation><folder>VOC2012</folder><filename>x0y1115.png</filename><source><database>The VOC2007 Database</database><anotation>PASCAL VOC2007</anotation><image>flickr</image></source><size><width>2233</width><height>2177</height><depth>3</depth></size><segmented>1</segmented><object><name>[1]</name><pose>Unspecified</pose><truncated>0</truncated><difficult>1</difficult><bndbox><xmin>0</xmin><ymin>1115</ymin><xmax>30</xmax><ymax>1145</ymax></bndbox></object></annotation>        }

分析:

可以发现整个标注文件的层级是按照annotation------folder/filename/&hellip;/object------name/pose/truncated/difficult/bndbox------xmin/ymin/xmax/ymax这样的格式来的。现在我需要修改标注目标的类别信息(将[1]改成lack),其他信息同理可以修改。Python代码如下:

解决方案:

import osimport os.pathfrom xml.etree.ElementTree import parse, Element#批量修改xml中内容def test():    path = "./datasets/Annotations/" # xml文件所在的目录    files = os.listdir(path)  # 遍历文件夹下所有文件名称    for xmlFile in files:  # 对所有文件进行循环遍历处理        path2 = "./datasets/Annotations/"+xmlFile #定位当前处理的文件的路径        newStr = os.path.join(path, xmlFile)        dom = parse(newStr)  # 获取xml文件中的参数        root = dom.getroot()  # 获取数据结构        for obj in root.iter('object'): # 获取object节点中的name子节点(此处如果要换成别的比如bndbox)            name = obj.find('name').text # 获取相应的文本信息            #  以下为自定义的修改规则,我这里把文本信息为[1]~[5]的内容改成lack,依次类推            if name in ['[1]','[2]','[3]','[4]','[5]']:                new_name = 'lack'            elif name in ['[6]','[7]','[8]','[9]','[10]']:                new_name = 'black_point'            elif name in ['[11]','[12]','[13]','[14]','[15]']:                new_name = 'crack'            else:                new_name = 'Satellite_InkDrop'            obj.find('name').text = new_name # 修改        dom.write(path2, xml_declaration=True) # 保存到指定文件        passif __name__ == '__main__':    test()

关于python怎么批量修改xml文件中的信息就分享到这里啦,希望上述内容能够让大家有所提升。如果想要学习更多知识,请大家多多留意小编的更新。谢谢大家关注一下编程网网站!

--结束END--

本文标题: python怎么批量修改xml文件中的信息

本文链接: https://www.lsjlt.com/news/307186.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python怎么批量修改xml文件中的信息
    这篇文章跟大家分析一下“python怎么批量修改xml文件中的信息”。内容详细易懂,对“python怎么批量修改xml文件中的信息”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“p...
    99+
    2023-06-26
  • python批量修改xml文件中的信息
    目录项目场景:问题描述:分析:解决方案:总结项目场景: 在做目标检测时,重新进行标注会耗费大量的时间,如果能够批量对xml中的信息进行修改,那么将会节省大量的时间,接下来将详细介绍如...
    99+
    2022-11-12
  • Python实现批量修改xml文件的脚本
    今天分享一个我自己写的实用脚本,主要是将.xml文件进行批量的修改 首先,声明我并不是很了解.xml的相关知识,所以今天主要是以我遇到的问题来做个记录。 想要更多的了解xml,请看最...
    99+
    2022-11-11
  • linux中怎么批量修改文件名
    这篇文章主要为大家展示了“linux中怎么批量修改文件名”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中怎么批量修改文件名”这篇文章吧。使用 rename 命令 ===========...
    99+
    2023-06-09
  • Python 批量修改xml文件中的name字段 (目标检测适用)
    Change ‘name’ in xml files. 在目标检测任务中,需要自己制作标签数据集。有时需要修改目标的类别名称,或者将某一类别名称修改为另一名称,或者将某些类别名称合并为新的名称。...
    99+
    2023-10-24
    自然语言处理 人工智能 语言模型 python 开发语言
  • win7怎么批量修改文件名
    在Win7中,你可以通过以下方法批量修改文件名:1. 选择需要修改文件名的文件,可以使用Ctrl键进行多选或者使用Shift键进行连...
    99+
    2023-09-08
    win7
  • php怎么批量修改文件名
    在PHP中,可以使用`scandir`函数来获取指定目录下的文件列表,然后使用`rename`函数来修改文件名。以下是一个示例代码,...
    99+
    2023-10-07
    php
  • Linux怎么批量修改文件名
    本篇内容介绍了“Linux怎么批量修改文件名”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!环境Centos7.7安装mmv在默认情况下,Ce...
    99+
    2023-06-28
  • 怎么在linux 中批量修改文件名
    这篇文章将为大家详细讲解有关怎么在linux 中批量修改文件名,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。具体办法: Linux中"-"有特殊的含义,比如在命令的后面加...
    99+
    2023-06-13
  • linux rename怎么批量修改文件名
    这篇文章主要讲解了“linux rename怎么批量修改文件名”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux rename怎么...
    99+
    2023-05-25
    linux rename
  • vbs怎么实现批量修改文件
    这篇文章主要介绍“vbs怎么实现批量修改文件”,在日常操作中,相信很多人在vbs怎么实现批量修改文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vbs怎么实现批量修改文件”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-08
  • Python怎么批量将csv文件转化成xml文件
    这篇文章主要介绍了Python怎么批量将csv文件转化成xml文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python主要应用领域有哪些1、云计算,典型应用OpenSt...
    99+
    2023-06-15
  • Shell中怎么批量修改图片文件名
    这篇文章给大家介绍Shell中怎么批量修改图片文件名,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。代码如下:for i in `ls _*.png`; do mv "$i" `echo "...
    99+
    2023-06-09
  • Python批量修改文本文件内容的方法
    Python批量替换文件内容,支持嵌套文件夹 import os path="./" for root,dirs,files in os.walk(path): for name in files: ...
    99+
    2022-06-04
    批量 文本文件 方法
  • windows怎么批量修改文件后缀名
    今天小编给大家分享一下windows怎么批量修改文件后缀名的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。批量修改文件后缀名的...
    99+
    2023-07-01
  • 怎么使用python批量修改文本文件编码格式
    今天小编给大家分享一下怎么使用python批量修改文本文件编码格式的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。使用pyth...
    99+
    2023-07-05
  • 怎么在Windows 7中批量修改文件属性
    这篇文章给大家介绍怎么在Windows 7中批量修改文件属性,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。问:以前我用Windows XP时,因嫌显示器上的字小,所以将小说下载到本地硬盘,再修改源文件,将字体放大后再看...
    99+
    2023-06-14
  • Python批量修改文件名的方式详解
    目录批量修改文件名(保留后缀) 批量修改文件名(全改) 读取文件下的所有文件名 总结批量修改文件名(保留后缀) 这种方法,保留了文件原本的后缀。这里主要演示的是对图片名的修改。 ...
    99+
    2022-11-12
  • Linux系统怎么批量修改文件内容
    这篇文章主要为大家分析了Linux系统怎么批量修改文件内容的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Linux系统怎么批量修改文件内容”的知识吧。方法一...
    99+
    2023-06-28
  • 怎么用bat批处理实现批量修改文件名
    这篇文章主要讲解了“怎么用bat批处理实现批量修改文件名”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用bat批处理实现批量修改文件名”吧!我们已经会使用循环命令对大量文件改名进行批量处...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作