在 Python 2 中,我str.format()
用于将正在打印的一堆文本列对齐到终端。基本上,它是一个表格,但我没有打印任何边框或任何东西——它只是文本行,对齐到列中。
- 没有色彩摆弄,一切都按预期打印。
- 如果我用 ANSI 颜色代码包装一整行(即一个
print
语句),一切都会按预期打印。 - 但是:如果我尝试使每一列在一行中具有不同的颜色,则对齐会被取消。从技术上讲,保持对齐;填充字符(空格)没有按需要打印;实际上,填充字符似乎已被完全删除。
我已经用colorama
和验证了同样的问题xtermcolor
。结果是一样的。因此,我确信这个问题与str.format()
字符串中间的 ANSI 转义序列打得不好有关。
但我不知道该怎么办!:( 我真的很想知道这个问题是否有任何解决方法。
颜色和对齐是提高可读性的有力工具,而可读性是软件可用性的重要组成部分。如果可以在不手动对齐每一列文本的情况下实现这一点,那对我来说意义重大。
一点帮助?☺