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

使用Python通过Telegram API发送文本时空格显示异常求助

解决Telegram API发送文本空格对齐异常的问题

问题原因

终端用的是等宽字体,每个字符(包括空格)宽度完全一致,所以你用{name:<20}生成的左对齐文本能正常对齐;但Telegram默认采用比例字体,不同字符宽度不同,普通空格(包括U+00A0非断空格)的宽度会被压缩,导致排版错乱。

解决方案

方案1:使用Telegram等宽代码块格式

把生成的文本包裹在代码块标记```中,Telegram会自动用等宽字体渲染,完美复刻终端的对齐效果:

text = "```\n"
for name, price in prices:
    text += f"{name:<20} {price}\n"
text += "```"
# 调用Telegram API发送这个text即可

方案2:用固定宽度空格替代普通空格

使用U+2007(图空格,宽度与数字、字母一致)替换普通空格,即使是比例字体也能保证对齐:

text = ""
for name, price in prices:
    # 先按终端格式生成行
    line = f"{name:<20} {price}\n"
    # 把所有普通空格替换为固定宽度的图空格
    line = line.replace(' ', '\u2007')
    text += line

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 08:49:59