'str' オブジェクトには属性 'decode' がありません。Python 3 エラーですか? [重複] 質問する

'str' オブジェクトには属性 'decode' がありません。Python 3 エラーですか? [重複] 質問する

これが私のコードです:


import imaplib
from email.parser import HeaderParser

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

この時点で、次のエラー メッセージが表示されます。

AttributeError: 'str' オブジェクトに属性 'decode' がありません

Python 3 には str.decode() がなくなったので、これを修正するにはどうすればいいでしょうか?

ベストアンサー1

すでにデコードされているオブジェクトをデコードしようとしています。 があるためstr、UTF-8 からデコードする必要はありません。

部品をドロップするだけです.decode('utf-8'):

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

おすすめ記事