使用colorama改变Python输入的文本颜色

3
当我尝试在python输入语句中使用colorama时,它无法正常工作。以下是我得到的输出:
[33mEnter the name of the AWS account you'll be working in:

它显示ASCII码而非我想要的颜色,并且不改变颜色。
以下是我的代码:
from colorama import init, Fore, Back, Style
init()
input(Fore.YELLOW + "Enter the name of the AWS account you'll be working in: ")

有没有办法让这个工作起来?

我在Windows 10上运行我的环境。如果可能的话,我想要一个跨平台解决方案,因为其他人可能在Linux上运行它。


可能是你的环境问题...你运行这个程序的控制台?也许它不支持通过这些代码进行着色。Colorama模块所做的就是输出正确的字符以供其他地方解释。在Python代码之外,必须有一些东西来监视这些字符并将文本转换为带有颜色的文本而不使用代码。 - CryptoFool
2个回答

0

你可以在代码头部使用这个

colorama.init(autoreset=True)

0

代码不是问题。你展示的代码在我的控制台中显示黄色文本。我正在使用Mac运行iTerm作为我的控制台。它也可以在标准的Mac控制台中工作。看起来你运行这段代码的环境不支持彩色文本。你是如何运行这段代码的?

colorama模块所做的就是输出正确的字符,以便由环境解释,通常是你执行代码的终端应用程序/命令。在Python代码之外的某个地方必须有东西来监视这些字符,并将文本转换为带有颜色的文本而没有代码。看起来你的环境没有这样做。

我认为这篇文章可能会解决这个问题。我无法测试它,因为我不在Windows上:

Python的Colorama,在Windows上未返回彩色打印行

简短的答案似乎是:

init(convert=True)

但是有人回复说这对他不起作用。 帖子中有很多信息。

这是一个常见的问题。 行为取决于环境。 代码使用标准代码集,但环境必须支持它们。 可能不会有“适用于所有地方”的解决方案,因为它依赖于运行时环境来生成颜色。 Python没有将文本呈现到屏幕上。 Python无法使文本成为彩色文本。 它只能遵循一组规则,这些规则可能或可能不被环境支持。


好的,我在运行 Windows 10 上。我已经更新了原始帖子以反映这一点。谢谢。 - bluethundr
好的,谢谢。但是很遗憾,在Windows下这并没有起作用。 - bluethundr

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