[解決済み】 'str' オブジェクトに 'decode' 属性がない。Python 3 エラー?
2022-03-31 19:43:14
質問
以下は私のコードです。
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' object has no attribute 'decode'
Python 3にはもうデコード機能はないんですよね? どうしたら直せますか?
また、で。
data = conn.fetch('1', '(BODY[HEADER])')
1通目のメールだけを選択しています。すべて選択するにはどうしたらよいですか?
解決方法を教えてください。
であるオブジェクトをデコードしようとしています。
すでにデコードされている
. あなたが持っているのは
str
の場合、もうUTF-8からデコードする必要はありません。
を削除するだけです。
.decode('utf-8')
の部分があります。
header_data = data[1][0][1]
については
fetch()
の呼び出しでは、最初のメッセージだけを明示的に要求しています。より多くのメッセージを取得したい場合は、範囲を指定してください。詳しくは
ドキュメント
:
は メッセージセット オプションは、処理するメッセージを1つまたは複数指定する文字列です。これは、単純なメッセージ番号 (
'1'
) 、メッセージ番号の範囲 ('2:4'
)、またはカンマで区切られた連続しない範囲のグループ('1:3,6:9'
). 範囲には,無限大の上限を示すアスタリスクを含めることができる ('3:*'
).
関連
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み] Pythonで、あるオブジェクトが反復可能かどうかを判断するにはどうしたらいいですか?
-
[解決済み] Pythonでオブジェクトが属性を持つかどうかを知る方法
-
[解決済み] Pythonのクラスはなぜオブジェクトを継承するのですか?
-
[解決済み] Pythonでnullオブジェクトを参照する
-
[解決済み] TypeError: Python3でファイルへの書き込み時に'str'ではなくbytesのようなオブジェクトが要求される
-
[解決済み] Pythonのオブジェクトが持っているメソッドを検索する
-
[解決済み] エラーです。" 'dict' オブジェクトには 'iteritems' という属性がありません "
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonによるLeNetネットワークモデルの学習と予測
-
Python関数の高度な応用を解説
-
python call matlab メソッドの詳細
-
Python jiabaライブラリの使用方法について説明
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac
-
[解決済み] Pythonで文字列を小文字にするには?