Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python列表索引超出范围-minidom_Python_Xml_Linux - Fatal编程技术网

Python列表索引超出范围-minidom

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

快速提问,当您看到错误“builtins.IndexError:列表索引超出范围”时,正确的解决方案是什么

这是指我要做的另一件事,但我不想让它出轨

代码:

打印6行后生成的错误为:

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