###修改filename
import os
import os.path
from xml.etree.ElementTree import parse, Element
#批量修改xml中内容
def test():
path = "labels/"#xml文件目录
files = os.listdir(path) # 得到所有文件名称
s = []
for xmlFile in files: # 遍历文件夹
if not os.path.isdir(xmlFile): # 判断是否是文件夹,不是文件夹才打开
print
xmlFile
pass
path = "labels/"
print(xmlFile)
path1 = "labels/"+xmlFile#定位当前处理的文件的路径
newStr = os.path.join(path, xmlFile)
dom = parse(newStr) ###最核心的部分,路径拼接,输入的是具体路径
root = dom.getroot()
print(root)
for obj in root.iter('annotation'):
obj.find('filename').text ="fod_"+ xmlFile.rstrip(".xml")+".JPG"#fod 为新命名,xmlfile为之前的命名
name1 = obj.find('filename').text
print(name1)
dom.write(path1, xml_declaration=True)
if __name__ == '__main__':
test()
###修改标签
import os
import os.path
from xml.etree.ElementTree import parse, Element
#批量修改xml中内容
def test():
path = "labels/"#xml文件所在的目录
files = os.listdir(path) # 得到文件夹下所有文件名称
s = []
for xmlFile in files: # 遍历文件夹
if not os.path.isdir(xmlFile): # 判断是否是文件夹,不是文件夹才打开
print
xmlFile
pass
path = "labels/"
print(xmlFile)
path1 = "labels/"+xmlFile#定位当前处理的文件的路径
newStr = os.path.join(path, xmlFile)
name = "big_coal"
dom = parse(newStr) ###最核心的部分,路径拼接,输入的是具体路径
root = dom.getroot()
print(root)
for obj in root.iter('object'):#获取object节点中的name子节点
obj.find('name').text=name
name1 = obj.find('name').text#修改
print(name1)
dom.write(path1, xml_declaration=True)#保存到指定文件
pass
if __name__ == '__main__':
test()