Python不会区分“普通”字符和ANSI颜色代码,后者也是终端解释的字符。
换句话说,'\x1b[92m'
在终端上打印可能会更改终端文本的颜色,Python认为这只是一组5个字符。如果print repr(line)
改用python,则将打印字符串文字形式,包括对非ASCII可打印字符使用转义码(因此ESC ASCII码27显示为\x1b
)以查看已添加的数量。
您需要手动调整列的对齐方式,以允许这些额外的字符。
如果没有您的实际代码,我们很难为您提供帮助。
Python的`str.format()`,填充字符和ANSI颜色
Python不会区分“普通”字符和ANSI颜色代码,后者也是终端解释的字符。
换句话说,'\x1b[92m'
在终端上打印可能会更改终端文本的颜色,Python认为这只是一组5个字符。如果print repr(line)
改用python,则将打印字符串文字形式,包括对非ASCII可打印字符使用转义码(因此ESC ASCII码27显示为\x1b
)以查看已添加的数量。
您需要手动调整列的对齐方式,以允许这些额外的字符。
如果没有您的实际代码,我们很难为您提供帮助。