当我尝试将colorama与python输入语句一起使用时,它不起作用。这是我得到的输出:
[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上运行它。
答案 0 :(得分:0)
代码不是问题。您显示的代码在控制台中给我黄色文本。我在运行iTerm作为控制台的Mac上。它也可以在标准Mac控制台中使用。您在其中运行此代码的环境似乎不支持彩色文本。您如何运行此代码?
colorama模块所做的所有工作都是输出正确的字符,以供环境解释,通常由执行代码的终端应用程序/命令解释。 python代码之外的东西必须监视这些字符,然后将文本转换为没有代码的彩色文本。看来您的环境没有这样做。
我认为这篇文章可能解决了这个问题。我无法测试,因为我不在Windows上:
Colorama for Python, Not returning colored print lines on Windows
简短的答案似乎是:
init(convert=True)
但是有人回应该帖子说这对他不起作用。帖子中有很多信息。
这是一个常见问题。行为取决于环境。该代码使用一组标准代码,但是环境必须支持它们。由于对运行时环境产生颜色的这种依赖性,可能不会有“随处可见”的解决方案。 Python不会将文本呈现到屏幕上。 Python不能使文本成为彩色文本。它只能遵循环境可能支持或可能不支持的一组规则。