调用其他库可能存在无法解析的情况,根据xml文件中,annotation标签下的根目录判断是否存在object,并结合对应图片进行删除

import xml.dom.minidom
import os
path = r'E:\busandstation_data\Annotations'  # xml文件存放路径
# sv_path = r'D:\coco_unzip\myxmlsave'  # 修改后的xml文件存放路径
image_path = r'E:\busandstation_data\JPEGImages'  # img文件存放路径
img_name = os.listdir(image_path)
files = os.listdir(path)
count = 1
for xmlFile in files:# 加载xml文件到内存中dom = xml.dom.minidom.parse(os.path.join(path, xmlFile))  # 打开xml文件,送到dom解析# 获取根节点信息annotation = dom.getElementsByTagName('annotation')# 打印的结果是只有一个数据的列表   annotation = [<DOM Element: annotation at 0x1ffcd0ad310>]# 判断文件中是否存在annotation节点if annotation and len(annotation) > 0:# 根据tag名,从annotation中获取所有的tag=object的节点列表# 从annotation的打印信息可以看出,通过getElementsByTagName获取到的数据都是列表,所以需要使用annotation[0]annotationList = annotation[0].getElementsByTagName('object')if annotationList == []:count += 1
#             os.remove(os.path.join(path,xmlFile))# dom = xml.dom.minidom.parse(r'D:\coco_unzip\mybulidvoc_annotation\000000000724.xml')  # 打开xml文件,送到dom解析# root = dom.documentElement  # 得到文档元素对象# item = root.getElementsByTagName('name')  # 获取filename这一node名字及相关属性值# 获取根节点信息annotation = dom.getElementsByTagName('annotation')# 打印的结果是只有一个数据的列表   annotation = [<DOM Element: annotation at 0x1ffcd0ad310>]# 判断文件中是否存在annotation节点if annotation and len(annotation) > 0:# 根据tag名,从annotation中获取所有的tag=object的节点列表# 从annotation的打印信息可以看出,通过getElementsByTagName获取到的数据都是列表,所以需要使用annotation[0]filename = annotation[0].getElementsByTagName('filename')address = filename[0].firstChild.dataprint(address)new_name = address + '.jpg'os.remove(os.path.join(path,xmlFile))os.remove(os.path.join(image_path,new_name))else:print(False)
print(count)

xml文件存在没有object根目录的情况进行删除相关推荐

  1. 检查XML文件内<object>(有几个label)的数量

    检查XML文件内(有几个label)的数量 对于手工标注的数据集,在标注完成后需检查图片里object的数量,可能出现漏标(每张图片的label有3个,而有的标签文件里object只有1或2个),空标 ...

  2. .NET 3.5(14) - XLINQ(LINQ to XML)之针对XML文件的添加、查询、更新和删除

    步步为营VS 2008 + .NET 3.5(14) - XLINQ(LINQ to XML)之针对XML文件的添加.查询.更新和删除 作者:webabcd 介绍 以某一XML文件为例,XLINQ(L ...

  3. xml文件中若没有子节点,则删除文件

    //若没有子节点则删除xml文件 TiXmlNode *Root=mDocument->RootElement(); TiXmlNode *roott=mDocument->FirstCh ...

  4. 解决struts.xml文件提示问题

    [Struts2]☆★之解决struts.xml文件提示问题 首先需要下载struts架包,下载步骤详情请看[web开发]☆★之Struts2系列教程[1]搭建Struts2开发环境. 下载之后我们新 ...

  5. jdom 读取xml_JDOM分析器–将XML文件读取为Java对象

    jdom 读取xml JDOM parser provides us a great Java XML API to read, edit and write XML documents easily ...

  6. xml转对象 jdom_JDOM从对象编写XML文件示例

    xml转对象 jdom In last tutorial we learned basics of Java JDOM and how we can read XML file to Object. ...

  7. java基础 day12-FileInputStream类,文件的复制,缓冲流,Propertes文件,xml文件读写,网络socket编程(构建TCP客户端),内部类

    FileInputStream类的其他常用方法() /**在project下新建temp文件,内容为abcdef*FileInputStream类的其他常用方法:* int available():返 ...

  8. comps.xml文件定制

    参考:http://www.ibm.com/developerworks/cn/linux/l-custm/ 节选内容如下: 4.1 编辑comps.xml文件 在生成安装盘之前,需要注意对comps ...

  9. Flex【原创】Xml与Object互转/读写本地Xml文件

    最近操作Xml文件比较多,因此封装了一下Xml文件操作类 主要功能包括:   1.Xml 转 Object 2.Object 转 Xml 3.读取本地Xml(air) 4.Xml写到本地(air) 代 ...

最新文章

  1. c++ memset 语言_自学C语言不知道从哪儿下手?学习框架都帮你列好了!
  2. Symfony学习笔记
  3. 你能找到心仪的妹子吗?- 时间复杂度进阶
  4. DeepMind Nando(原牛津大学教授)强化学习最新进展,含图文、公式和代码,附102页PPT下载...
  5. 记一次MySQL字符集冲突导致的报错
  6. 解读容器的 2020:寻找云原生的下一站
  7. Web应用安全————Shiro 解决会话固定漏洞
  8. zabbix监控系统时间的问题
  9. Recipe terminated with error. vscode latex-workshop新的配置文件
  10. 如何管理和组织一个机器学习项目
  11. 计算机存储成本,仓储成本
  12. 【Python】腾讯企业邮箱自动发邮件-发送多人并添加附件
  13. 超人视觉怎么样/机器视觉培训适合报培训班吗
  14. 常见健身器材EN ISO 20957认证标准有哪些
  15. java学习day58(乐友商城)乐友商城项目搭建、SE6语法使用
  16. 【HTML5】嵌入另一张HTML文档、通过插件嵌入内容、嵌入数字表现形式
  17. WordArt与everything联用生成含中文的词云
  18. Android如何自定义一个心电图控件?
  19. 2021年中国InGaAs+APD接收机市场趋势报告、技术动态创新及2027年市场预测
  20. 2014 年第六届全国大学生数学竞赛江西赛区赣南师范学院获奖名单(数学专业)

热门文章

  1. T61P 安装Win7 出现 Windows update 当前无法检查更新,因为未运行服务。您可能需要重新启动计算机
  2. Android插件化开发指南——实践之仿酷狗音乐首页(自定义ImageView控件)
  3. 浅谈Win10装机磁盘格式问题:windows无法安装到这个磁盘 选中的磁盘采用GPT分区形式
  4. shiro整合springboot,配置mybatis和增加邮箱验证码登录
  5. 深度优先搜索 广度优先搜索理解
  6. matlab 倍频,matlab倍频程分析
  7. “泰山众筹”模式的详细玩法
  8. 艾美捷EndoGrade卵清蛋白,不含内毒素
  9. CentOS7搭建github
  10. PX4IO的编译过程、代码构架以及与PX4FMU的通讯分析