Python批量更改xml文件属性
程序员文章站
2022-03-02 14:29:01
...
改变路径
import os
import xml.dom.minidom
import xml.etree.ElementTree
xmldir = 'C:/Users/SLH/Desktop/xxx/' # 你的xml文件的路經,注意最后一定要有'/'
for xmlfile in os.listdir(xmldir):
xmlname = os.path.splitext(xmlfile)[0]
# 读取 xml 文件
dom = xml.dom.minidom.parse(os.path.join(xmldir, xmlfile))
root = dom.documentElement
# 获取标签对的名字,并为其赋一个新值
root.getElementsByTagName('path')[0].firstChild.data = \
'/home/wnzhou/darknet/scripts/VOCdevkit/VOC2007/Annotations/' + xmlname + '.jpg'
# 修改并保存文件
xml_specific = xmldir + xmlfile
with open(xml_specific, 'w') as fh:
dom.writexml(fh)
改变height
- 或者其他的节点 把相应节点名称替换即可
import os
import os.path
import xml.dom.minidom
path = r"C:/Users/SLH/Desktop/xml"
files = os.listdir(path) # 得到文件夹下所有r文件名称
s = []
for xmlFile in files:
# 遍历文件夹
portion = os.path.splitext(xmlFile)
if not os.path.isdir(xmlFile):
# 判断是否是文件夹,不是文件夹才打开
# print (xmlFile)
# xml文件读取操作
# 将获取的xml文件名送入到dom解析
dom = xml.dom.minidom.parse(os.path.join(path, xmlFile))
###最核心的部分os.path.join(path,xmlFile),路径拼接,输入的是具体路径
root = dom.documentElement
height = root.getElementsByTagName('height')
for i in range(len( height )):
nw = "240"
if height[i].firstChild.data == "0":
height[i].firstChild.data = nw
print(height[i].firstChild.data)
# 保存修改到xml文件中
with open(os.path.join(path, xmlFile), 'w', encoding='UTF-8') as fh:
dom.writexml(fh)
print('修改filename OK!')
上一篇: linux怎么解决tomcat无法关闭了
下一篇: linux的python版本切换