빠른 질문, 'builtins.IndexError :리스트 인덱스가 범위를 벗어났습니다.'라는 오류가 나타나면 올바른 해결책은 무엇입니까?파이썬리스트 인덱스가 범위를 벗어났습니다 - minidom
다른 참조 번호 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' 요소가 없음을 의미합니다. 니가이 미니멈 물건에 대해 오히려 완고 하잖아, 그렇지? :-P –
나는 대안을 사용하는 것을 좋아한다. 그러나 이것은 그냥 단순하고/똑바로 앞으로 내 엉덩이를 뺀 것 같다 ... 이미 내가 가진 것에 예외를 추가 할 수있는 방법이 있는가? 내가 아는 한 ipaddr은 모든 섹션에 있지만 분명히 틀릴 수도 있습니다. – Numpty