我是 python 新手,仍在学习它,我正在尝试制作一个脚本,将电子邮件发送到多个电子邮件,但我遇到了问题。它继续在第 9 行打印出错误:“列表索引必须是整数或切片,而不是 str”我对这意味着什么以及我需要做些什么来解决这个问题感到困惑。import smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartemail_list = ["First@email.com", "second@email.com", "third@email.com", "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
将采用值“First@email.com”然后是“second@email.com”等...而不是 0、1... 您似乎相信。但是,当您这样做时,email_list[i]
您会尝试获取列表的第 i 个值。这不起作用,因为我们看到那i
是一个字符串。
添加回答
举报
0/150
提交
取消