gpt4 book ai didi

Python 列表索引超出范围 - minidom

转载 作者:太空宇宙 更新时间:2023-11-04 11:24:42 25 4
gpt4 key购买 nike

快速提问,当您看到错误“builtins.IndexError: list index out of range”时,正确的解决方案是什么?

这是引用另一个 thread 我已经开始了,但我不想让它出轨。

代码:

from xml.dom import minidom

net_xml = minidom.parse("network_objects.xml")

NetworkObjectsTag = net_xml.getElementsByTagName("network_objects")[0]

# Pull individual network objects
NetworkObjectTag = NetworkObjectsTag.getElementsByTagName("network_object")

for network_object in NetworkObjectTag:
name = network_object.getElementsByTagName("Name")[0].firstChild.data
class_name = network_object.getElementsByTagName("Class_Name")[0].firstChild.data
color = network_object.getElementsByTagName("color")[0].firstChild.data
ipElement = network_object.getElementsByTagName("ipaddr")
ipaddr = ipElement.firstChild.data
maskElement = network_object.getElementsByTagName("netmask")
netmask = maskElement.firstChild.data
#address_ranges
ipaddr_first = network_object.getElementsByTagName("ipaddr_first")
ipaddr_last = network_object.getElementsByTagName("ipaddr_last")
print(name,class_name,ipaddr,netmask,ipaddr_first,ipaddr_last,color)

打印6行后产生的错误是:

ipElement = network_object.getElementsByTagName("ipaddr")[0]
IndexError: list index out of range

最佳答案

这意味着引用的列表是空的。换句话说,网络对象没有 ipaddr 标签。

为了安全起见,您需要将getElementsByTagName的结果保存到一个变量中,并在保存到ipelement之前检查长度。没有时的操作ipaddr 由您决定。

关于Python 列表索引超出范围 - minidom,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15554605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com