私は(継続的に)gmailとimaplibを使ってプロジェクトを進めています。私は特定の単語を含む電子メールを探していて、ユニークなIDのリストを受け取っています(私のコードの大半はDoug Hellmanのものです、彼の優秀な人はです)。これらのユニークIDはリストに保存されます。私はリストから単一のIDを取得しようとしていますが、random.choiceはリスト全体を引き出します。ランダムな選択で、単一の項目の代わりにリスト全体を取得する
import imaplib
import random
from imaplib_list_parse import parse_list_response
c = imaplib_connect.open_connection()
msg_ids = []
c.select('[Gmail]/Chats', readonly=True)
typ, msg_ids = c.search(None, '(BODY "friend")')
random_id = random.choice(msg_ids)
print random_id
私は通訳とmsg_idsで周り台無しまし間違いリストされています。ここでは、コードです。また、配列の特定の要素(例:msg_ids [1]など)を取得しようとしましたが、「IndexError:範囲外のリストインデックス」とは、「探しているものは存在しません」それはそこにあるので混乱している。
リストがリストでないときはいつですか?か何か?よくわかりません。
いつものように、私はstackoverflowのの素晴らしい人々が与えることができる任意のフィードバックを感謝:)
私は混乱しています。あなたはsearch_body()関数を持っていますが、それは決して呼び出されないので、msg_idsはまだ空リストであり、random.choice()がIndexErrorを発生させます。その後、 'print random'はrandom_idではなくrandomモジュールに関する情報を出力します。これは実行したコードですか、インデントエラーや行がありませんか? – DSM
ああ、私はちょうど私が通訳で働いていることに気付きました、そして、これは崇高な座っていたコードです。より正確なコードを表示するように改訂しました。 – spikem