You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何让traceback报错信息在HTML邮件中按换行展示

问题原因

format_exc()返回的异常堆栈信息的换行是普通\n字符,HTML渲染规则会自动忽略连续空白字符和换行符,所以最终邮件里所有内容会被合并成同一行显示。

解决方案

提供两种常用实现方式,按需选择即可:

方案1:用<pre>标签包裹异常内容(推荐)

<pre>标签的作用是保留文本原始的空格、换行格式,不需要修改异常内容本身,适配性最高,修改后的代码如下:

html = """
            <html>
              <body>
                <b> Exception Details: </b>
                <pre style="white-space: pre-wrap; word-wrap: break-word;">{exp_message}</pre>
              </body>
            </html>
            """.format(exp_message=exp_message)

附加的style样式是为了避免超长代码行超出邮件可视区域自动换行,不需要可以去掉。

方案2:手动替换换行符为HTML换行标签

如果不想用<pre>标签,可以把异常内容里的所有\n替换为HTML可识别的<br>换行标签,代码如下:

html = """
            <html>
              <body>
                <b> Exception Details: </b> {exp_message}
              </body>
            </html>
            """.format(exp_message=exp_message.replace('\n', '<br>'))

内容的提问来源于stack exchange,提问作者ansh1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 00:36:03