使用Python修改xml内容并重命名

131 阅读1分钟
import xml.etree.ElementTree as ET
import os

def change_xml(xml_path):
    filelist = os.listdir(xml_path)

   
    for xmlfile in filelist:

       # 获取xml结点
        doc = ET.parse(xml_path+xmlfile)
        root = doc.getroot()
         
        

        # 修改xml中的filename部分
        sub1 = root.find('filename') 
        name = sub1.text
        name = list(name)       # 再python中不允许直接修改字符串,这里转化为list进行修改,而后再转成字符串
        name[-8] = '1'
        sub1.text = "".join(name)

   

        # 修改xml中的path部分
        sub2 = root.find('path')
        path = sub2.text
        path = list(path)
        path[-8] = '1'
        sub2.text = "".join(path)


        
        # 保存修改
        doc.write(xml_path+xmlfile)   

        

        

        # 文件重命名
        new = sub1.text.rsplit('.',1)[0]       # 去除后缀。注意 split和rsplit用法的区别
        os.rename(xml_path+xmlfile , xml_path+new+'.xml')     # 不能只写文件名不写具体的路径
 
 

xml_path = 'D:\\home\\2\\beifen\\'
change_xml(xml_path)