簡體   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