python - 在Windows cmd中以颜色显示用户输入的文本

标签 python formatting colorama

我还有一个关于 Windows cmd 的小控制台程序的问题。

我使用 colorama 为终端中的文本着色,使其看起来像这样:

enter image description here

然后我发现了如何在 input() 方法中使用一点“hack”和不带换行符的打印来为文本着色,如下所示:

from colorama import init
init(autoreset=True)
YELLOW = "\x1b[1;33;40m" 

print(f"\n{YELLOW}Turnier spielen? [T]: ", end='')
tournament = input()

这导致了上图中的黄线。

但我仍然在寻找一种方法来为用户输入的字符着色 - 所以在这里我想将用户输入“sdffdgf ...”也设置为颜色。

enter image description here

有人可以为我提供解决方案吗?还是说有限的 Windows cmd 无法实现?

最佳答案

从代码中删除 init(autoreset=True) 行可以在我的机器上按照您的意愿运行。

import colorama

from colorama import Fore,Style,Back
colorama.init()

YELLOW = "\x1b[1;33;40m" 
RED = "\x1b[1;31;40m"

print(f"\n{YELLOW}Turnier spielen? [T]: ", end='')
tournament = input()
print(f"\n{RED}Turnier spielen? [T]: ", end='')
tournament2 = input()

code together with output to see it working

我的 colorama 版本 colorama==0.3.9

Colorama docs声明,当使用 autoreset=true 时,它将在 print 命令之后立即重置您的颜色和样式选项,这发生在您到达输入命令之前,这就是您不这样做的原因获取用户输入文本中的颜色。

关于python - 在Windows cmd中以颜色显示用户输入的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52532504/

相关文章:

python - 如何使用 django 进行解耦

java - 如何在 Eclipse 或任何其他平台中有效地格式化巨大的 XML 文件

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

python - 更改数据框中每个单元格的值以给表格着色

python - 为什么 Fore.BLUE 使文本以随机字符开头而不是使文本为蓝色?

python - 数据库查询结果作为 Django 模型字段的默认值?

python - Python 和 wxPython 可以在 Windows 98 上运行吗?

python - 使用 SQLAlchemy 更新 PostgreSQL 数组

reporting-services - SSRS 格式显示为百分比

Jquery Mobile - 使用图像作为链接 - 图像下方的蓝线