首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >“‘str”对象没有属性“decode”。Python 3错误?

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

Stack Overflow用户
提问于 2015-02-18 20:20:06
回答 12查看 623.7K关注 0票数 274

下面是我的代码:

代码语言:javascript
复制
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')

此时,我得到了错误消息

代码语言:javascript
复制
AttributeError: 'str' object has no attribute 'decode'

Python 3不再有decode了,对吗?我该如何解决这个问题呢?

另外,在:

代码语言:javascript
复制
data = conn.fetch('1', '(BODY[HEADER])')

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

EN

回答 12

Stack Overflow用户

发布于 2020-12-29 05:47:55

如果您在PyJWT v2.0.0版本(22/12/2020)之后使用jwt身份验证登录到这里,那么您可能希望在requirements.txt文件中将您的PyJWT版本冻结为以前的版本。

代码语言:javascript
复制
PyJWT==1.7.1
票数 51
EN

Stack Overflow用户

发布于 2015-02-18 20:44:50

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

代码语言:javascript
复制
  a = 'Happy New Year' # Python 3
  b = unicode('Happy New Year') # Python 2

上面的说明是相同的。所以我认为你应该删除.decode('utf-8')部件,因为你已经有了一个unicode对象。

票数 50
EN

Stack Overflow用户

发布于 2017-03-28 07:08:02

通过以下方法使用它:

代码语言:javascript
复制
str.encode().decode()
票数 43
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28583565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档