str.format()
来对齐一堆要打印到终端的文本列。基本上,它是一个表格,但我不打印任何边框或其他东西-它只是一行行的文本,对齐成列。
- 没有颜色处理时,一切都会按预期打印。
- 如果我使用ANSI颜色代码包装整个行(即一个
print
语句),则一切都会按预期打印。 - 然而:如果我尝试使一行中的每个列都有不同的颜色,则对齐会被破坏。从技术上讲,对齐被保留了;就是填充字符(空格)并未按预期打印; 实际上,填充字符似乎被完全移除了。
我已经验证了使用colorama
和xtermcolor
都存在同样的问题。结果也相同。因此,我确信这个问题与str.format()
在字符串中间与ANSI转义序列不兼容有关。
但我不知道该怎么办啊! :( 如果可以在不手动对齐每个文本列的情况下完成这个任务,那将意义重大。
颜色和对齐是提高可读性的有力工具,而可读性是软件可用性的重要组成部分。如果能够解决此问题,那就太好了!
帮帮我?☺