上一篇写了如何批量修改文件名,但是第一次总有像我这种终极小白绕弯路的时候,比如标注前忘记改图片名&在Windows下标注的图片拿到Linux下训练。。。于是乎废了老大力气标注完的xml可能长这样
于是乎又一波批量改path和filename的工程开始了
经过上一篇博客已经学会了换外壳
接下来换内脏
首先是path
import xml.dom.minidom
import os
path='/home/boot/darknet/scripts/VOCdevkit/VOC2018/Annotations' # xml文件存放路径
sv_path='/home/boot/darknet/scripts/VOCdevkit/VOC2018/Annotations1' # 修改后的xml文件存放路径
files=os.listdir(path)
for xmlFile in files:
dom=xml.dom.minidom.parse(os.path.join(path,xmlFile)) #打开xml文件,送到dom解析
root=dom,documentElement #得到文档元素对象
item=root.getElementsByTagName('path') #获取path这一node名字及相关属性值
for i in item:
i.firstchild.data='/home/boot/darknet/scripts/VOCdevkit/VOC2018/JPEGImages' #xml文件对应的图片路径
with open(os.path.join(sv_path,xmlFile),'w') as fh:
dom.writexml(fh)