欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python批量修改xml文件的属性(filename/path)

程序员文章站 2022-04-18 20:02:11
...

一、修改文件路径path属性

这里路径可以自定义,根据自己实际需求更改即可:

import xml.dom.minidom
import os

path = r'F:\Pycharm Community\foods\xml'  # xml文件存放路径
sv_path = r'F:\Pycharm Community\foods\xml1'  # 修改后的xml文件存放路径
files = os.listdir(path)
cnt = 1

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 = 'C:\\Users\\Desktop\\' + str(cnt).zfill(6) + '.jpg'  # xml文件对应的图片路径

    with open(os.path.join(sv_path, xmlFile), 'w') as fh:
        dom.writexml(fh)
    cnt += 1

二、修改文件名filename属性

这里默认是根据文件名称进行修改,如000001.jpg.

import xml.dom.minidom
import os

path = r'F:\Pycharm Community\foods\xml1'  # xml文件存放路径
sv_path = r'F:\Pycharm Community\foods\xml2'  # 修改后的xml文件存放路径
files = os.listdir(path)

for xmlFile in files:
    dom = xml.dom.minidom.parse(os.path.join(path, xmlFile))  # 打开xml文件,送到dom解析
    root = dom.documentElement  # 得到文档元素对象
    names = root.getElementsByTagName('filename')
    a, b = os.path.splitext(xmlFile)  # 分离出文件名a
    for n in names:
        n.firstChild.data = a + '.jpg'
    with open(os.path.join(sv_path, xmlFile), 'w') as fh:
        dom.writexml(fh)

注:这里给出了两个示例,其他属性可以仿照着改动即可。

相关标签: xml python