我的编程空间,编程开发者的网络收藏夹
学习永远不晚

AttributeError: ‘bytes‘ object has no attribute ‘encode‘异常解决方案

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

AttributeError: ‘bytes‘ object has no attribute ‘encode‘异常解决方案

AttributeError: 'bytes' object has no attribute 'encode'是:“字节”对象没有属性的编码的意思。

很明显,是编码格式的问题,例如:已经是byte格式的字符串类型,二次进行encode的时候就会出现这个bug,示例如下:

str_info = 'Hello World!'print(str_info)# byte字符串-utf-8str_info = str_info.encode("utf-8")print(str_info)# byte字符串-GBKstr_info = str_info.encode("gbk")print(str_info)

异常的报错效果如下:

其实异常说的是比较明显的,属性误差:【Attribute Error】,既然我们知道了问题所在,那么在获取数据的时候就要看看是什么编码格式的,一般情况下数据交流都是【UTF-8】的字符串编码格式,python里面Unicode编码格式,课时我们操作的时候直接写代码就默认不会出现格式错误,说明只有在api操作的时候才会出现这样的问题,在字符串操作的时候可以限定一下所有的数据交流格式为【UTF-8】即可。偶尔出现中文的问题在去单独处理即可。

编码格式也就一般使用这两种,但是大多数程序员都会默认的将项目改成【UTF-8】的,就连正常操作数据库的时候你能看到也会写到编码格式改成【UTF-8】都是心照不宣的,如果出现这类需要格式转化的情况,放心,对方肯定是一个新手程序员,我们要以大哥哥的心态来帮扶新进的程序员小弟弟们,大家的技术快速成长,才能更好的为祖国建设贡献一份力量。

报错叫做【Attribute Error】,这个报错还可能是重写的函数有问题,例如:初始化的时候使用的是:【__init__】这里不是一个下划线,是两个下划线,如果你使用一个下划线也会报错的。

我们可以初始化一个类测试一下:

class demo:    """    正常定义一个类,正常写初始化函数    """    def __init__(self):        print(666)# 调用的使用少写了一个下划线。demo().__init_()

从下图就能看出来,由于我们在调用的过程中少写了一个下划线,所以报错了,异常为: 【Attribute Error】,具体的异常描述:'demo' object has no attribute '__init_',他就是一个:特定对象类型没有访问属性,我们没有正常使用初始化函数,故而直接报错。

我们知道问题,再去复现问题,很多时候通过这样的操作我们就能对某个知识点彻底的了解,攻克,老师很多时候找bug快就是因为看到了无数的学生bug,挨个解决过来的,所以很多异常看一眼就明确问题点,根据问题点进行分析,查找问题,这样解决问题可能就是分分钟的事情。

【Attribute Error】异常是一个范围异常,其实还有很多情况会出现这个异常提示。我们上面那个参数异常也是报的这个异常为前缀。

这里小总结了一下三个可能出现这个异常的情况,如下:

属性名称拼写错误

调用不存在的属性

模块属性调用错误

有兴趣的可以自己写一个关于各类异常的博客,也能为更多的人创造价值,毕竟每个人的工作范围都不一样,出现的异常也是千奇百怪,大家都发一发,在找答案的时候也会很效率,创造价值。

来源地址:https://blog.csdn.net/feng8403000/article/details/127739015

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

AttributeError: ‘bytes‘ object has no attribute ‘encode‘异常解决方案

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

AttributeError: ‘NoneType‘ object has no attribute ‘Window‘如何解决

这篇文章主要讲解了“AttributeError: ‘NoneType‘ object has no attribute ‘Window‘如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习
2023-07-05

报错AttributeError(\'{0!r} object has no attribute {1!r}\'.format(type(self).__name__, k))的解决

报错的原因这个错误消息表明,在python代码中,使用了一个对象(由self变量表示),但是该对象没有一个名为k的属性。这可能是由于该对象没有定义这个属性,或者是在代码中类型错误导致该对象不是预期的类型。如何解决要解决这个错误,可能需
报错AttributeError(\'{0!r} object has no attribute {1!r}\'.format(type(self).__name__, k))的解决
2024-02-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录