gpt4 book ai didi

python,索引错误

转载 作者:行者123 更新时间:2023-12-01 00:01:07 25 4
gpt4 key购买 nike

我有一些代码可以从 xml 文件中提取数据,但它似乎随机开始抛出;

Traceback (most recent call last):
File "C:\Users\mike\Documents\python\arl xml\turn 24 reader", line 52, in <module>
unitCount = getText(evoNode.getElementsByTagName("count")[0].childNodes)
IndexError: list index out of range

当时我运行它的前几次都很好,我不知道我是否无意中更改了它,但现在它抛出了错误。

这是它尝试使用的 xml 部分的示例;

- <unit>
<count>1200</count>
<type>Zweihander Doppelsoldners</type>
<typeid>102</typeid>
</unit>

这是它所提示的代码;

   for unitNode in node.getElementsByTagName('unit'):
unitName = getText(evoNode.getElementsByTagName("type")[0].childNodes)
unitId = getText(evoNode.getElementsByTagName("typeid")[0].childNodes)
unitCount = getText(evoNode.getElementsByTagName("count")[0].childNodes)

unitList.append("%s x %s" % (unitName, unitCount))

虽然我承认它首先提示计数行,因为计数是单位部分中 xml 文件中三个行中最高的,但我仍然不确定它为什么提示,因为它成功地运行了一组非常相似的从中克隆和编辑的代码。

有人知道我能做什么或可以提出改进问题的方法吗?

最佳答案

一个简单的想法:检查 evoNode.getElementsByTagName("count") 是否返回一个非空列表:

counts = evoNode.getElementsByTagName("count")
if counts:
unitCount = getText(counts[0].childNodes)

当然,检查应该应用于您的代码检索的所有列表。

另一件事,您使用 unitNode 进行迭代,但在循环内,您访问 evoNode,这每次迭代可能都是相同的。

关于python,索引错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/443813/

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