【深度学习】修改xml中文件夹路径

在深度学习的实践中,我们通常都会下载公开数据集,标注数据通常都存为xml文件,里面的path通常都是图片在本机中的路径,如果我们想直接用这些数据集,就得在自己的电脑上建立一个相同的目录,但这样显然很不方便,况且如果是在linux和windows不同平台上就更尴尬了。本着自己动手丰衣足食的原则,我们可以用python写个代码,方便批量修改path中的路径。

##修改xml文件中的<path>,与实际数据路径对应
##author:leo

# coding=utf-8
import os
import os.path
import xml.dom.minidom

file_path = "./data/VOCdevkit2007/VOC2007/Annotations"
files = os.listdir(file_path)  # 得到文件夹下所有文件名称
s = []
for xmlFile in files:  # 遍历文件夹
    if not os.path.isdir(xmlFile):  # 判断是否是文件夹,不是文件夹才打开
        print(xmlFile)
        # xml文件读取操作
        # 将获取的xml文件名送入到dom解析
        dom = xml.dom.minidom.parse(os.path.join(file_path, xmlFile))  ###最核心的部分,路径拼接,输入的是具体路径
        root = dom.documentElement
        # 获取标签对path之间的值
        original_path = root.getElementsByTagName('path')
        # 原始信息
        p0=original_path[0]
        path0=p0.firstChild.data   #原始路径
        print(path0)
        # 修改
        jpg_name=path0.split('/')[-1]   #获取图片名
        modify_path=file_path+'/'+jpg_name   #修改后path
        p0.firstChild.data=modify_path

        # 保存修改到xml文件中
        with open(os.path.join(file_path, xmlFile), 'w') as fh:
            dom.writexml(fh)
            print('修改path OK!')


可以把path改为任意自己想存放的路径,并且我采用的是相对路径,这样后续使用起来是十分方便的!
需要注意的是如果路径中含有中文或其他非法字符,程序不会报错提示,但修改后的xml文件打开会为空。
在这里插入图片描述

  • 16
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值