批量删除VOC的XML中的某些节点

import xml.etree.cElementTree as ET
import os
path_root = ['E:\data-VOC0712\VOC2007\Annotations',
             'E:\data-VOC0712\VOC2012\Annotations']

CLASSES = [
           "bottle",
           "cat", "chair",  "diningtable",
           "dog", "motorbike", "person",
           "pottedplant","sofa",
           "tvmonitor"]
for anno_path in path_root:
    xml_list = os.listdir(anno_path)
    for axml in xml_list:
        path_xml = os.path.join(anno_path, axml)
        tree = ET.parse(path_xml)
        root = tree.getroot()

        for child in root.findall('object'):
            name = child.find('name').text
            if not name in CLASSES:
                root.remove(child)

        tree.write(os.path.join('E:\data-myVOC0712\Annotations', axml))

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值