あなたがプログラミングの初心者だと主張しているように、私の最善のアドバイスは次のとおりです。常にドキュメントを読んでください。
そして、最初にチュートリアルを読む必要があるかもしれません。
ドキュメントには例が示されています。
import getpass, imaplib
M = imaplib.IMAP4()
M.login(getpass.getuser(), getpass.getpass())
M.select()
typ, data = M.search(None, 'ALL')
for num in data[0].split():
typ, data = M.fetch(num, '(RFC822)')
print 'Message %s\n%s\n' % (num, data[0][3])
M.close()
M.logout()
やってみました?
あなたのコードについて:
for
loopを定義すると、次のようになります。
for x in some_data_set:
x
一度に 1 つの項目の値を保持する変数です (また、for ループ本体でのみアクセスできます (1 つの例外がありますが、ここでは重要ではありません))。
あなたがしていることは imaplib モジュールとは関係ありませんが、間違った構文です。
ところで。メールボックスを選択し、メールボックス内のメッセージ数.select()
のみを返します。つまり、単なるスカラー値であり、反復できるシーケンスはありません:
IMAP4.select([mailbox[, readonly]])
メールボックスを選択します。返されるデータは、メールボックス内のメッセージの数です (EXISTS 応答)。デフォルトのメールボックスは「INBOX」です。readonly フラグが設定されている場合、メールボックスへの変更は許可されません。
(これは確かに imaplib モジュールに関連しています;))