[报错]深析AttributeError: ‘NoneType‘ object has no attribute ‘xxx‘(持更)

有相关的博客还要写它的原因在于下面的博客讲了各自的重点。因此,我将深入刨析原因,以及导致该原因出现的几种问题!如果讲解清楚了,请点个赞哦☀️

参考博文:

  1. 《AttributeError: ‘NoneType’ object has no attribute……错误分析》
  2. 《【报错分析】AttributeError: ‘NoneType’ object has no attribute ‘xxx’》
  3. 《成功解决AttributeError: ‘NoneType’ object has no attribute ‘find_all’》
  • 翻译:错误属性:“nonetype”对象没有'xxx'属性

一、Nonetype类型

见博客《特殊类型NoneType》
要点:

  1. NoneType类型只有一个值None.
    在这里插入图片描述
  2. Nonetype类型不支持任何运算也没有内建方法

二、报错的原因

前面讲到 Nonetype类型只有一个None,反推也就是出现问题的语句中,含有了 None这个变量。而根据前面知道,None是没有任何内建方法的,从而也就没有了任何属性。

  • 定位:这是我的代码中的报错,在于第14行
    在这里插入图片描述
  • 测试: 将变量model直接替换为None
    在这里插入图片描述
    可以看到报错的原因,可以说一摸一样!
  • 验证:我将 model的类型打印出来 ,
    在这里插入图片描述在这里插入图片描述
  • 结论: 不知什么原因,model这个变量变为了None

三、查找变量为None的原因

变量为None的原因常常在于…

3.1 读取文件中的数据不成功~~文件路径不正确

目前,我能想到的读取数据不成功的原因只有一个就是文件路径不正确。下面上一些案例以及验证方法!亦可以查看《FileNotFoundError: [Errno 2] No such file or directory》

  1. 文件路径中的文件夹名称错误
  2. 文件名路径中的特殊符号的中英文错误
  3. 文件名的格式后缀错误,比如.png–>,jpg
  • 检验方法:
    os.path.exists(filepath)

相对路径的使用中…

  1. ./../使用错误
  • 检验方法:
    os.getcwd()获得当前python的工作路径

获取绝对路径的方法…
法一:
在这里插入图片描述
法二:
在这里插入图片描述
提醒:两种方法在文件路径和文件名拼接的时候都要加\

3.2 函数返回None值

在一些自定义函数中,会出现返回None的情况。如下,我自定义了一个函数。

def fun(x):
    if isinstance(x,str) :
        return x 
    else:
        return  None

含义:如果xs是字符串类型,则返回x;如果不是,则返回None值。

  • 47
    点赞
  • 110
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
这个错误通常出现在使用对象的某个属性时,该对象是None类型,而None类型没有该属性。在你提供的引用中,有关于此错误的博文和解决方法。通过这些引用,可以了解到这个错误可能是由于加载权重文件之前没有进行build操作导致的,或者可能是由于输入的形状与期望的形状不匹配导致的。具体而言,对于“AttributeError: 'NoneType' object has no attribute 'images'”错误,它表示你正在尝试访问一个名为'images'的属性,但该属性所属的对象是None。要解决这个错误,你需要确保在访问该属性之前,对象不是None,并且具有'images'属性。你可以检查对象在加载权重文件之前是否成功构建,并确保输入的形状与期望的形状相匹配。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [[报错]深析AttributeError: ‘NoneTypeobject has no attributexxx‘()](https://blog.csdn.net/panbaoran913/article/details/124650015)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [报错AttributeError: NoneType object has no attribute device](https://blog.csdn.net/o0haidee0o/article/details/106903488)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值