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

如何为Python PrettyTable添加ljust(7)以实现日志输出对齐

如何让Python PrettyTable输出与日志消息对齐?

嘿,我懂你想要的效果了!你已经用PrettyTable生成了表格,也设置了列左对齐,但现在需要让整个表格的每一行都和日志里的文本对齐,对吧?

你的问题核心是:日志行有INFO:前缀,直接打印的表格是顶格的,所以需要给表格的每一行添加缩进,让它和日志内容的起始位置对齐。

修改后的代码

这里给你调整后的代码,核心思路是把表格转换成字符串后,逐行添加缩进:

from prettytable import PrettyTable  # 记得导入模块哦

t = PrettyTable()
t.title = 'TRACKS'
t.field_names = ['#', 'Bitrate', 'Size','Name', 'Resolution']
for v in test:
    t.add_row([v['num'], v['bitrate'], v['size'], v['profile'], v['resolution']])
t.align = 'l'  # 保持每一列左对齐的设置

# 将表格转为字符串并拆分成单独的行
table_content = t.get_string().splitlines()
# 给每一行添加7个空格的缩进,和日志消息对齐
for line in table_content:
    print(' ' * 7 + line)

为什么这样做?

  • t.get_string()会把整个表格转换成一个多行的字符串,方便我们逐行处理。
  • ' ' *7会给每一行前面加上7个空格,刚好和你示例里INFO:后面的文本起始位置对齐。如果需要调整缩进宽度,只需要修改数字7就行。
  • 保留了你原来设置的t.align = 'l',确保每一列的内容还是左对齐的状态。

这样输出的表格就会和你的日志完美对齐啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 19:39:07