(Python) 属性错误:'NoneType'对象没有'text'属性

2024-06-28 19:58:06 发布

您现在位置:Python中文网/ 问答频道 /正文

当我从代码中的URL解析xml时,出现以下错误。我不会发布XML,因为它太大了。链接在下面的代码中。在

错误:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-70-77e5e1b79ccc> in <module>()
     11 
     12 for child in root.iter('Materia'):
---> 13     if not child.find('EmentaMateria').text is None:
     14             ementa = child.find('EmentaMateria').text
     15 

AttributeError: 'NoneType' object has no attribute 'text'

我的代码:

^{pr2}$

我能俯瞰的是什么? 谢谢


Tags: 代码textinchildurlmost链接错误
1条回答
网友
1楼 · 发布于 2024-06-28 19:58:06

与其检查child.find('EmentaMateria').text是否不是None,您应该首先确保child.find('EmentaMateria')不是{}。在

另外,您应该存储返回值child.find('EmentaMateria'),以避免调用它两次。在

最后,如果child.find('EmentaMateria')None,则应该为ementa分配一个默认值;否则,下面的print函数将引用一个未初始化的变量。在

更改:

if child.find('EmentaMateria').text is not None:
    ementa = child.find('EmentaMateria').text

收件人:

^{pr2}$

或者,您可以使用内置函数getattr在不使用临时变量的情况下执行相同操作:

ementa = getattr(child.find('EmentaMateria'), 'text', None)

相关问题 更多 >