import os
import xml.etree.ElementTree as ET
#修改文件夹下所有xml文件中的中文路径
def changesku(inputpath):
listdir = os.listdir(inputpath)#获得所有文件名
for file in listdir:
file = os.path.join(inputpath, file)#将根路径与文件名路径组合成绝对路径
tree = ET.parse(file)#处理xml文件
root = tree.getroot()#将xml下的标签转成树状结构
for sku in root.findall('path'): #直接查找符合要求的标签 不用根据一级二级目录等反复调用findall
#将中文路径修改成英文路径
#absPath = 'C:\\darknet-master\\build\\darknet\\x64\\data\\obj_xiqing'+'\\'
absPath = 'xdd' + '\\'
ImageName = sku.text[-10:]# ‘005’为原始的text
sku.text = absPath + ImageName# 修改‘name’的标签值
tree.write(file,encoding='utf-8') # 写进原始的xml文件,不然修改就无效,‘encoding = “utf - 8”’避免原始xml #中文字符乱码
if __name__ == '__main__':
inputpath = 'C:\\darknet-master\\build\\darknet\\x64\\data\\xml_xiqing' # 这是xml文件的文件夹的绝对地址
changesku(inputpath)