当前位置: 首页 > 知识库问答 >
问题:

“str”对象没有“decode”属性。Python 3错误?

米丰
2023-03-14

这是我的密码:

import imaplib
from email.parser import HeaderParser

conn = imaplib.IMAP4_SSL('imap.gmail.com')
conn.login('example@gmail.com', 'password')
conn.select()
conn.search(None, 'ALL')
data = conn.fetch('1', '(BODY[HEADER])')
header_data = data[1][0][1].decode('utf-8')

在这一点上,我得到了错误消息

AttributeError: 'str' object has no attribute 'decode'

Python 3已经没有解码了,对吗?我该怎么解决这个问题?

此外,在:

data = conn.fetch('1', '(BODY[HEADER])')

我只选择第一封电子邮件。如何选择全部?

共有3个答案

尉迟清野
2023-03-14

从Python3开始,所有字符串都是unicode对象。

  a = 'Happy New Year' # Python 3
  b = unicode('Happy New Year') # Python 2

以上说明相同。因此,我认为您应该删除。解码('utf-8')part,因为您已经有了一个unicode对象。

司徒斌
2023-03-14

如果您在pyjwtv2之后使用jwt身份验证登陆这里。0.0版本(2020年12月22日),您可能希望将PyJWT的版本冻结到需求中的先前版本。txt文件。

PyJWT==1.7.1

李森
2023-03-14

您正在尝试解码已解码的对象。您有一个str,不再需要从UTF-8解码。

只需删除. decode('utf-8')部分:

header_data = data[1][0][1]

至于您的fetch()调用,您只需要第一条消息。如果要检索更多邮件,请使用范围。请参阅文档:

下面命令的消息设置选项是一个字符串,用于指定要处理的一条或多条消息。它可以是一个简单的消息编号('1'),一个消息编号范围('2:4'),或一组由逗号分隔的非连续范围('1:3,6:9')。一个范围可以包含一个星号来表示无限上限('3:')。

 类似资料:
  • 问题内容: 我在python 3.3.4中遇到“解码”方法的问题。这是我的代码: 但是我无法解码此问题的代码: 你有什么想法?谢谢 问题答案: 一种 编码 字符串,另一种 解码 字节。 您应该从文件中读取字节并对其进行解码: 幸运的是,有一个编码参数使操作变得简单:

  • 问题内容: 这是我的代码: 此时,我收到错误消息 Python 3不再具有解码了,对吗?我怎样才能解决这个问题? 另外,在: 我只选择第一封电子邮件。如何选择全部? 问题答案: 您正在尝试解码 已解码 的对象。您有一个,不再需要从UTF-8解码。 只需删除部分: 至于您的通话,您明确要求仅发送第一条消息。如果要检索更多消息,请使用范围。请参阅文档: 下面命令的 message_set 选项是一个字

  • Selenium/Python自动化新手。我在自动注册表单时被阻止。下拉列表是必需的元素,但我收到以下错误。。。 AttributeError:“str”对象没有属性“tag_name” 我把我的代码贴在下面,但是在网上找不到任何答案来解释为什么会这样。非常感谢任何/所有的帮助。 错误来自sel=Select('teamElement')行。

  • 问题内容: 为什么被认为是物体?返回列表中的第一项,但我不能追加到列表中的第一项。谢谢。 Edit01: @pyfunc:谢谢您的解释;现在我明白了。 我需要一个清单清单。因此“来自表单”应为列表。我做到了(如果这不是正确的方法,请更正): 问题答案: myList [1]是myList的元素,其类型是字符串。 myList [1]是str,您不能附加它。myList是一个列表,您应该已经附加了它

  • 问题内容: 有点困惑,因为我很肯定我以前曾经做过这项工作。 我创建了以下方法… 但是当我在导入的CSV文件上运行它时,会产生此错误: 尽管我可以看到这是文档中的一个属性: https://pandas.pydata.org/pandas- docs/stable/generation/pandas.Series.str.isnumeric.html?highlight=isnumeric#pand

  • 问题内容: 我正在尝试使用SQLAlchemy + Python将一个项目添加到我的数据库中,但始终出现错误。 我的database_setup.py: 在将sqlalchemy导入到终端后,我定义了一个要插入的项目: 并绘制一个会话以添加和提交: 当我提交时,我不断收到此错误: 我在我的公司表中添加了一个“ Jawbone”对象,我理解我的“ JawboneUP3”应该与之相关。该对象是通过我通