当前位置: 首页 > news >正文

问题解决:AttributeError: ‘NoneType‘ object has no attribute ‘text‘

项目环境:

我的环境:Window10,Python3.12,Anaconda3,Pycharm2024.3.4


问题描述:

找不到’text’这个对象

部分代码:


Traceback (most recent call last):
  File "D:\IT DateFiles\PyDate\FQC\main.py", line 55, in <module>
    m_text = draw_item.find("m_text").text
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'text'


原因分析:

1.遍历的XML 文件中某些 节点可能没有 <m_text> 这个子节点;

2.我使用的ElementTree 的 find() 方法在找不到指定节点时返回了 None。

部分代码:

  # 遍历 XML 文件中的 <DrawItemInfo> 节点
  m_texts = []  # 用于存储符合条件的 m_text
  for draw_item in root.findall("DrawItemInfo"):
      m_color = draw_item.find("m_color").text
      m_text = draw_item.find("m_text").text

      # 检查 m_color 是否为 ffff0000 且 m_text 不是 "NG"
      if m_color == "ffff0000" and m_text != "NG":
          print(m_text)
          m_texts.append(m_text)


解决:

在尝试访问 <m_text> 的内容之前,先去检查它是否存在。
这里可以通过检查 find() 方法的返回值是否为 None 来避免这个错误。

部分代码:

# 遍历 XML 文件中的 <DrawItemInfo> 节点
m_texts = []  # 用于存储符合条件的 m_text
for draw_item in root.findall("DrawItemInfo"):
    m_color = draw_item.find("m_color")
    m_text_element = draw_item.find("m_text")  # 获取 m_text 元素

    # 检查 m_color 是否存在且值为 ffff0000
    if m_color is not None and m_color.text == "ffff0000":
        # 检查 m_text 元素是否存在且内容不是 "NG"
        if m_text_element is not None and m_text_element.text != "NG":
            m_texts.append(m_text_element.text)


希望本文对你解决:XXXX问题有所帮助。
SueMagic wish you a happy coding~
有疑问可联系我。


更多精彩链接/友情链接:

问题解决:Fatal Python error: initfsencoding: unable to load the file system codec

相关文章:

  • YOLO 各系列结构整理
  • 前端 | 向后端传数据,判断问题所在的调试过程
  • 爬虫案例十js逆向合肥滨湖会展中心网
  • 从预测到控制:电力RK3568边缘计算机在电网调度中的全面应用
  • 【RAG】RAG 系统的基本搭建流程(ES关键词检索示例)
  • Linux应用:文件属性
  • vtkAppendPolyData vtkMultiBlockDataGroupFilter 区别 合并数据
  • 代码贴--二叉树(链式结构)
  • 如何利用DeepSeek+OCR技术打造一款AI投标工具:自动解析招标文件并生成投标标书的工具?
  • Ubuntu无风扇工控机:解决精密仪器散热难题的利器
  • Python笔记(简单版)
  • SmolVLM2 - 将视频理解带到每个设备
  • 【从零开始学习计算机科学】计算机组成原理(四)指令系统
  • 核函数及其常见类型
  • 视觉图像处理
  • Day05 实例:正向反向连接内外网环境防火墙出入站
  • 【HarmonyOS Next】鸿蒙应用故障处理思路详解
  • Java常用集合与映射的线程安全问题深度解析
  • 【CSS3】筑基篇
  • Google参数逆向 谷歌搜索
  • 中美贸易代表会谈后是否已确定下一次会谈?外交部回应
  • 竞彩湃|英超欧冠悬念持续,纽卡斯尔诺丁汉能否拿分?
  • 中国纪检监察刊文:力戒形式主义官僚主义关键是要坚持实事求是
  • 阳光保险拟设立私募证券投资基金,总规模200亿元
  • 博物馆日|为一个展奔赴一座城!上海171家博物馆等你来
  • 张国清将赴俄罗斯举行中俄“长江—伏尔加河”地方合作理事会第五次会议和“东北—远东”政府间合作委员会双方主席会晤