[英]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.