Python列表索引超出范围-minidom
快速提问,当您看到错误“builtins.IndexError:列表索引超出范围”时,正确的解决方案是什么 这是指我要做的另一件事,但我不想让它出轨 代码: 打印6行后生成的错误为:Python列表索引超出范围-minidom,python,xml,linux,Python,Xml,Linux,快速提问,当您看到错误“builtins.IndexError:列表索引超出范围”时,正确的解决方案是什么 这是指我要做的另一件事,但我不想让它出轨 代码: 打印6行后生成的错误为: ipElement = network_object.getElementsByTagName("ipaddr")[0] IndexError: list index out of range 这意味着引用的列表为空。换句话说,网络对象没有ipaddr标记 为了安全起见,您需要将getElementsByTagN
ipElement = network_object.getElementsByTagName("ipaddr")[0]
IndexError: list index out of range
这意味着引用的列表为空。换句话说,网络对象没有ipaddr标记
为了安全起见,您需要将
getElementsByTagName
的结果保存到一个变量中,并在保存到ipelement
之前检查长度。当没有ipaddr
时,您该怎么办取决于您自己。Huzah,多亏了cwillu在freenode/#python上的工作,它才能正常工作。有益的建议可导致:
ipElement = network_object.getElementsByTagName("ipaddr")
if ipElement:
ipElement = network_object.getElementsByTagName("ipaddr")[0]
ipaddr = ipElement.firstChild.data
maskElement = network_object.getElementsByTagName("netmask")
if maskElement:
maskElement = network_object.getElementsByTagName("netmask")[0]
netmask = maskElement.firstChild.data
这意味着没有
ipaddr
元素。你对这件小事很固执,不是吗-PI很想用另一种方法,但这看起来很简单/直接,除去我的错误。。。有没有办法将异常添加到我已有的内容中?据我所知,ipaddr在每个部分都有,但显然我可能错了。你介意告诉我如何正确地使用它吗?:)或者甚至为我指出正确的文档方向都将不胜感激
ipElement = network_object.getElementsByTagName("ipaddr")
if ipElement:
ipElement = network_object.getElementsByTagName("ipaddr")[0]
ipaddr = ipElement.firstChild.data
maskElement = network_object.getElementsByTagName("netmask")
if maskElement:
maskElement = network_object.getElementsByTagName("netmask")[0]
netmask = maskElement.firstChild.data