我是 python 新手,仍在學習它,我正在嘗試制作一個腳本,將電子郵件發送到多個電子郵件,但我遇到了問題。它繼續在第 9 行打印出錯誤:“列表索引必須是整數或切片,而不是 str”我對這意味著什么以及我需要做些什么來解決這個問題感到困惑。import smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartemail_list = ["[email protected]", "[email protected]", "[email protected]", "etc..."]num = 0for i in email_list: msg['To'] = email_list[i] #this line gives the error num = num + 1 server.sendmail(email, email_list[i], text)print("Emails Sent: " + num)我希望輸出是,Emails Sent: 3,但它不會大聲笑
1 回答

萬千封印
TA貢獻1891條經驗 獲得超3個贊
在 pythonfor e in C
中必須讀作“對于集合 C 的每個元素 e”,這意味著在每次迭代中,都e
取集合中不同元素的值C
。
在您的示例中,i
將采用值“[email protected]”然后是“[email protected]”等...而不是 0、1... 您似乎相信。但是,當您這樣做時,email_list[i]
您會嘗試獲取列表的第 i 個值。這不起作用,因為我們看到那i
是一個字符串。
添加回答
舉報
0/150
提交
取消