python - 使用 colorama 更改 Python 输入的文本颜色

标签 python colorama

当我尝试将 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 上运行它。

最佳答案

代码不是问题。您显示的代码在我的控制台中给了我黄色文本。我在 Mac 上运行 iTerm 作为我的控制台。它也适用于标准的 Mac 控制台。您运行此代码的环境似乎不支持彩色文本。你如何运行这段代码?

colorama 模块所做的就是输出正确的字符以供环境解释,通常由您在其中执行代码的终端应用程序/命令解释。 python 代码之外的东西必须注意这些字符并将文本转换为没有代码的彩色文本。您的环境似乎没有这样做。

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

Colorama for Python, Not returning colored print lines on Windows

简短的回答似乎是:

init(convert=True)

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

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

关于python - 使用 colorama 更改 Python 输入的文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55027152/

相关文章:

python - Tee 不显示输出或写入文件

python - 对字符串查找感到困惑?

python - 在 TensorFlow 中获取矩阵的对角线

python - 我如何知道导入的库来自 python 中的哪个目录?

python - 用 Python 制作彩色 Ascii 文本

python - 如何允许 cxfreeze 导入 colorama?

python - 如何得到两个矩阵的乘积?

python - win32com 有 python3 版本吗?

python - 从包含公共(public)属性的模块中提取所有函数

Python replace() 带颜色的字符串?