HTML输出有多余的换行符
下面是我想发送的电子邮件在Outlook中的显示效果。如果你注意到的话,在Title1
表格的底部多了一个空行。我不太明白为什么会有这个空行。
[Paragraph Here] ========================== Title1 ========================== Spot Track Quality Combo Fast 1 8 218 218 287 2 2873 58 2877 2935 3 15 215 215 287 4 412 52 419 476 5 16 223 223 282 6 103 85 139 276 ==================================== ======================== ========================= Title2 ========================== Spot Track Quality Combo Fast 1 69 1956 1958 2514 2 7339 450 7373 7927 3 114 1916 1916 2524 4 3651 465 3669 4017 5 102 1956 1956 2532 6 1546 614 1763 2604 ============================================================
我正在使用smtplib
、MIMEText
和MIMEMultipart
来发送带有HTML格式的邮件。我通过把不同的字符串拼接在一起,创建了一个格式化的文本字符串,代码如下:
text = """[Paragraph] \n\n\n\n"""
text += f"{' Title1 ':=^60}\n"
for i in range(6):
track = ~flags_outside[f'las{i+5}_trackf'].astype(bool)
qual = flags_outside[f'las{i+5}_qualf'].astype(bool)
combo = np.logical_or(track,qual)
fast = out_arr_outside[:,i]
nfast = np.sum(fast)
ntrack = np.sum(track)
nqual = np.sum(qual)
ncombo = np.sum(combo)
if i == 0:
text += f"{'Spot':>10s} {'Track':>10s} {'Quality':>10s} {'Combo':>10s} {'Fast':>10s}\n"
text += f"{i+1:>10d} {ntrack:>10d} {nqual:>10d} {ncombo:>10d} {nfast:>10d}\n"
text += "="*60 + "\n"
text += f"{' Title2 ':=^60}\n"
for i in range(6):
track = ~flags[f'las{i+5}_trackf'].astype(bool)
qual = flags[f'las{i+5}_qualf'].astype(bool)
combo = np.logical_or(track,qual)
fast = out_arr[:,i]
nfast = np.sum(fast)
ntrack = np.sum(track)
nqual = np.sum(qual)
ncombo = np.sum(combo)
if i == 0:
text += f"{'Spot':>10s} {'Track':>10s} {'Quality':>10s} {'Combo':>10s} {'Fast':>10s}\n"
text += f"{i+1:>10d} {ntrack:>10d} {nqual:>10d} {ncombo:>10d} {nfast:>10d}\n"
text += "="*60 + "\n"
然后,为了在HTML中使用<br>
来代替\n
,我执行了text.replace("\n","<br>")
,并像这样包装这个text
:
html = """<pre><font face='monospace'>""" + text + """</font></pre>"""
有人能解释一下为什么会出现这个多余的空行吗?我是在HTML语法上做错了什么,还是在把\n
替换成<br>
时用了太多的换行元素?
1 个回答
暂无回答