Python文本颜色不适用于Windows

我试图让这个片段工作,但它似乎不会在Windows中工作。
在Linux下它工作得很好!
这里是展示用法的示例代码片段:

tops = [] for ind, top in enumerate(lr.top): color = colors.setdefault(top, COLORS[len(colors) % len(COLORS)]) if top in disconnected_tops: top = '\033[1;4m' + top if len(lr.loss_weight) > 0: top = '{} * {}'.format(lr.loss_weight[ind], top) tops.append('\033[{}m{}\033[0m'.format(color, top)) top_str = ', '.join(tops) 

当整个脚本运行时,转义字符似乎不起作用,怪异的字符出现在屏幕上。 我如何得到这个在Windows上工作?

我发现了问题!
我不得不在最初丢失的脚本中使用init()
看起来init()在基于Linux的操作系统中是不需要的,因为如果是!,这本来就不应该在那里工作!
好的,这里是文档本身 !

在Windows上,调用init()将过滤掉发送到stdout或stderr的任何文本的ANSI转义序列,并将其替换为等效的Win32调用。

在其他平台上,调用init()不起作用(除非您请求其他可选功能;请参阅下面的“Init Keyword Args”)。 通过设计,这允许应用程序在所有平台上无条件地调用init(),之后ANSI输出应该正常工作。