Python - 列表中每个项目后的换行符

Fre*_*ddy 3 python loops python-2.7

我有一个空列表和一个循环。循环的结果附加到空列表中。该列表然后通过电子邮件发送给我,但它以['item1', 'item2]我希望此列表的格式如下的形式出现:

item1
item2
Run Code Online (Sandbox Code Playgroud)

我的代码看起来像这样:

list = []

def function_name():
    for item in items:
        r = requests.get(item)
        results = r.status_code, r.url
        print(results, time.strftime('%Y-%m-%d'))
        for s_code in results:
            list.append(s_code)

    msg = str(list)
    subject = 'Hello'
    sender = 'me@example.com'
    recepient = 'you@example.com'

    s = smtplib.SMTP('localhost')
    s.sendmail('address1@example.com', 'address2@example.com', msg)
    s.quit()
Run Code Online (Sandbox Code Playgroud)

check_broken_links()

当我删除str并执行时,msg = '\n'.join(list)我收到一个错误,因为我正在合并,int并且str在这一行中看到results = r.status_code, r.url离开str返回一行中的每个可迭代对象,所以这也不好。

ps 还在做我的邮件功能,有点马虎,但是能发送。

Bre*_*bel 7

当您为电子邮件构建文本时,将列表转换为带有换行符的字符串,如下所示

text = '\n'.join(list)
Run Code Online (Sandbox Code Playgroud)

如果您要发送 html 电子邮件,则可能必须执行此操作

text = '<br/>'.join(list)
Run Code Online (Sandbox Code Playgroud)

  • 对于 HTML 版本,它实际上应该是 `'&lt;br&gt;'.join(map(cgi.escape, my_list))`。 (2认同)