下面是我的代码:
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不再有decode了,对吗?我该如何解决这个问题呢?
另外,在:
data = conn.fetch('1', '(BODY[HEADER])')
我只选择了第一封电子邮件。如何全选?
发布于 2020-12-29 05:47:55
如果您在PyJWT v2.0.0版本(22/12/2020)之后使用jwt身份验证登录到这里,那么您可能希望在requirements.txt
文件中将您的PyJWT版本冻结为以前的版本。
PyJWT==1.7.1
发布于 2015-02-18 20:44:50
从Python 3开始,所有字符串都是unicode对象。
a = 'Happy New Year' # Python 3
b = unicode('Happy New Year') # Python 2
上面的说明是相同的。所以我认为你应该删除.decode('utf-8')
部件,因为你已经有了一个unicode对象。
发布于 2017-03-28 07:08:02
通过以下方法使用它:
str.encode().decode()
https://stackoverflow.com/questions/28583565
复制相似问题