我有一段代码可以从列表中提取电子邮件地址,并将其添加到MIME服务的“收件人”字段中。由于电子邮件列表的构造错误,只有第一个收件人会收到电子邮件。
“ list.csv”文件如下所示
john.doe@domain.com
jean.donna@domain.com
我用来格式化地址的代码是这样的:
with open('list.csv') as allusers:
concat_out =', '.join(email for (email,) in csv.reader(allusers))
receiver = [concat_out]
MIME部分:
msg = MIMEMultipart()
msg['Subject'] = 'Notification'
msg['From'] = sender
msg['To'] = '; '.join(receiver)
输出:
['john.doe@domain.com, jean.donna@domain.com'] #notice the missing quotes and a comma
#instead of a semi-colon
如何获取格式正确的列表,如下所示:
['john.doe@domain.com', 'jean.donna@domain.com']
感谢您的帮助。
答案 0 :(得分:1)
这将解决您的问题,而无需触及旧代码
with open('list.csv') as allusers:
concat_out =', '.join(email for (email,) in csv.reader(allusers))
reciever=concat_out.split(',')
print(reciever)
输出:['john.doe@domain.com','jean.donna@domain.com']
答案 1 :(得分:0)
为什么不只是创建一个列表,然后从列表中创建一个字符串。
const std::vector<double> Keyboard::key_freqs_ = std::vector<double>({
**Crashed here->** 000000013F121362 vmovaps ymm0,ymmword ptr [__ymm@404059fbe76c8b44403ede353f7ced91403d228f5c28f5c3403b800000000000 (01408B7DE0h)]
000000013F12136A movzx r9d,byte ptr [rsp+20h]
000000013F121370 lea r8,[rbp+1F0h]
000000013F121377 vmovups ymmword ptr [rsp+30h],ymm0
000000013F12137D vmovaps ymm0,ymmword ptr [__ymm@404499fbe76c8b44404371eb851eb85240425a9fbe76c8b4404152f1a9fbe76d (01408B7E00h)]
000000013F121385 vmovups ymmword ptr [rsp+50h],ymm0
000000013F12138B vmovaps ymm0,ymmword ptr [__ymm@4049f4dd2f1a9fbe40487fdf3b645a1d40471fdf3b645a1d4045d3b645a1cac1 (01408B7E20h)]
000000013F121393 vmovups ymmword ptr [rsp+70h],ymm0
000000013F121399 vmovaps ymm0,ymmword ptr [__ymm@405059fbe76c8b44404ede147ae147ae404d22b020c49ba6404b800000000000 (01408B7E40h)]
000000013F1213A1 vmovups ymmword ptr [rbp-70h],ymm0
000000013F1213A6 vmovaps ymm0,ymmword ptr [__ymm@40549a0c49ba5e354053720c49ba5e3540525a9fbe76c8b4405152f1a9fbe76d (01408B7E60h)]
000000013F1213AE vmovups ymmword ptr [rbp-50h],ymm0
000000013F1213B3 vmovaps ymm0,ymmword ptr [__ymm@4059f47ae147ae1440587fef9db22d0e40571fef9db22d0e4055d3a5e353f7cf (01408B7E80h)]
000000013F1213BB vmovups ymmword ptr [rbp-30h],ymm0
000000013F1213C0 vmovaps ymm0,ymmword ptr [__ymm@406059eb851eb852405ede147ae147ae405d228f5c28f5c3405b800000000000 (01408B7EA0h)]
000000013F1213C8 vmovups ymmword ptr [rbp-10h],ymm0
...
这将为您提供如下输出:
with open('list.csv') as allusers:
concat_out = [email for (email,) in csv.reader(allusers)]
receiver = str(concat_out)
答案 2 :(得分:0)
email_list = []
with open('list.csv', 'r') as file:
for line in file.readlines():
email_list.append(line.strip('\n'))
print(email_list)
输出: ['john.doe@domain.com','jean.donna@domain.com']