在PowerShell中输出带颜色的文本

5
我使用这个问题中找到的以下颜色类 “在终端中打印彩色?”
class bcolors:
    HEADER = '\033[95m'
    OKBLUE = '\033[94m'
    OKGREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[0m'
    BOLD = '\033[1m'
    UNDERLINE = '\033[4m'

print(bcolors.FAIL + "some error" + bcolors.ENDC)

当我在我的Python脚本编辑器中运行此代码时,输出的结果以正确的红色错误颜色显示:
some error
[Finished in 18.782s]

然而,当我从命令提示符或使用PowerShell(我的意图控制台输出)运行时,我会得到以下输出:

[91m一些错误[0m

(每次按保存时都会出现箭头)

更新:
这里是输出的截图:
enter image description here
这似乎是一个非常有吸引力的方法,因为我不需要下载或导入任何新模块,只需在我的脚本中包含几行即可。这被投票选为最佳答案,但我无法让它工作,因为它似乎将\033解释为箭头符号的某个ASCII码。

1
这可能是相关的: https://dev59.com/_FUK5IYBdhLWcg3wiAUo - Aaron
@Aaron 这真的很有帮助,谢谢。显然当我提出我的问题时,我没有得到这个作为“建议”或“相关”。 - Hadi Farah
1个回答

3
在链接的答案中,您还可以找到以下声明:
这将适用于包括OS X、Linux和Windows(前提是您使用ANSICON,或在Windows 10中启用VT100仿真)在内的Unix系统。
由于您询问的是PowerShell,您尝试过其中的哪一个?

.

也许您更希望了解Colorama,这与编程有关。请注意,内容需要以保留HTML标签为前提,并且应该使文本易于理解。

看起来我必须这样做,因为我的整个应用程序都在一个 shell 上运行,即使我启用了虚拟终端序列,我也需要重新启动 shell 才能使更改生效。感谢您指出这个问题。 - Hadi Farah

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接