当字符串中包含ANSI转义序列字符时,将忽略Python字符串格式
为什么在字符串中包含字符串格式时会被忽略 示例(Python 3.9.1): 预期产出将是:当字符串中包含ANSI转义序列字符时,将忽略Python字符串格式,python,character-encoding,string-formatting,Python,Character Encoding,String Formatting,为什么在字符串中包含字符串格式时会被忽略 示例(Python 3.9.1): 预期产出将是: Elapsed Time: 0 secs (26953 rows affected) Elapsed Time: 12 secs (26953 rows affected) 但它却让步了 Elapsed Time: 0 secs (26953 rows affected) Elapsed Time: 12 secs (26953 rows affected) :25s字符
Elapsed Time: 0 secs (26953 rows affected)
Elapsed Time: 12 secs (26953 rows affected)
但它却让步了
Elapsed Time: 0 secs (26953 rows affected)
Elapsed Time: 12 secs (26953 rows affected)
:25s
字符串格式被忽略;我遗漏了什么?因为在计算对齐格式时考虑了cgrey
、c
和endc
尝试打印字符串的原始字节
#。。。
x=f'{cgrey}{经过的时间\u文本:25s}{行\u受影响的\u文本}\033[0m'
打印(x)
打印(x.encode())
结果:
Elapsed Time: 0 secs (26953 rows affected)
b'\x1b[90mElapsed Time: 0 secs (26953 rows affected)\x1b[0m'
Elapsed Time: 12 secs (26953 rows affected)
b'Elapsed Time: \x1b[94m12\x1b[0m secs (26953 rows affected)\x1b[0m'
Elapsed Time: 0 secs (26953 rows affected)
b'\x1b[90mElapsed Time: 0 secs (26953 rows affected)\x1b[0m'
Elapsed Time: 12 secs (26953 rows affected)
b'Elapsed Time: \x1b[94m12\x1b[0m secs (26953 rows affected)\x1b[0m'