【VOC格式xml文件解析】——Python
生活随笔
收集整理的這篇文章主要介紹了
【VOC格式xml文件解析】——Python
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/4/26 12:49 # @Author : @linlianqin # @Site : # @File : test1.py # @Software: PyCharm # @description: import xml.etree.ElementTree as ETdef xmli(xmlpath):xmlTree = ET.parse(xmlpath) # 解析xml文件root = xmlTree.getroot() # 獲得xml根節(jié)點size = root.find('size') # 查找size結點# 主要這里一定是findall,查找所有的object結點,也就是標注框的信息,否則用find返回的是Nonetypeobjects = root.findall('object') # 查找所有的object結點for obj in objects:bbox = obj.find('bndbox')# 修改相應結點的值bbox.find('ymin').text = str(222)bbox.find('ymax').text = str(222)return xmlTree # 返回更新后的xml文件句柄xmlTree = xmli(r'test.xml') xmlTree.write('_flip_updown.xml') # 存儲新的xml文件?
以下轉自:python VOC格式的xml文件解析
python解析XML常見的有三種方法:
??? xml.dom.*模塊,它是W3C DOM API的實現(xiàn),若需要處理DOM API則該模塊很適合;
??? xml.sax.*模塊,它是SAX API的實現(xiàn),這個模塊犧牲了便捷性來換取速度和內存占用,SAX是一個基于事件的API,這就意味著它可以“在空中”處理龐大數(shù)量的的文檔,不用完全加載進內存;
??? xml.etree.ElementTree模塊(簡稱 ET),它提供了輕量級的Python式的API,相對于DOM來說ET 快了很多,而且有很多令人愉悅的API可以使用,相對于SAX來說ET的ET.iterparse也提供了 “在空中” 的處理方式,沒有必要加載整個文檔到內存,ET的性能的平均值和SAX差不多,但是API的效率更高一點而且使用起來很方便。
?
其他xml文件的操作——寫入、更新、讀取請參考:python解析xml文件(解析、更新、寫入)
總結
以上是生活随笔為你收集整理的【VOC格式xml文件解析】——Python的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32三种启动模式 boot0 bo
- 下一篇: SHA256算法详解及python实现