繁体   English   中英

在python中写入XML文件时,为什么会出现子索引超出范围的错误?

[英]Why am I getting child index out of range error when I writing to XML file in python?

我正在尝试在字典列表中写一个XML文件的名称,但是我将IndexError作为子索引超出范围。 我是XML文件的新手。 这是我的代码

import os
import xml.etree.ElementTree as ET
from xml.etree.ElementTree import Element, SubElement, Comment, tostring
from xml.dom import minidom
name = [{'vehicle': 'honda'}, {'vehicle': 'hyundai'}, {'vehicle': 'mercedes'}, {'vehicle': 'rangerover'}, {'vehicle': 'bentley'}, {'vehicle': 'toyota'}, {'vehicle': 'mecerati'}, {'vehicle': 'lamborgini'}]
l = [(0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (0, 6), (0, 7), (1, 0), (1, 2)]
for step in range(10): 
            i,j = l[step]                      
            print(i,j)
            name1 = str(name[i]['vehicle'])
            root = Element('annotation')
            folder = SubElement(root, 'folder')
            folder.text="testing"
            filename=SubElement(root, 'filename')
            filename.text="1.jpg"
            path=SubElement(root, 'path')
            path.text="path"
            source=SubElement(root, 'source')           
            obj=SubElement(root, 'object')
            name=SubElement(obj,'name')
            name.text=str(name1)                                    
            tree = ET.ElementTree(root)
            tree.write(os.path.join('testing',str(step)+".xml"))  

当使用相同的i值进行第二次迭代时,将引发错误。

    0 1
    0 2
---> 10             name1 = str(name[i]['vehicle'])


IndexError: child index out of range

您能帮我弄清楚我在做什么错以及解决方法吗? 我发现了类似的问题,但并没有解决我的错误Child索引超出范围,python元素树

在for循环中,执行name=SubElement(obj,'name') ,将覆盖原始名称列表。 将该变量名称更改为其他名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM