我还有一个关于 Windows cmd 的小控制台程序的问题。
我使用 colorama 为终端中的文本着色,使其看起来像这样:
然后我发现了如何在 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 ...”也设置为颜色。
有人可以为我提供解决方案吗?还是说有限的 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()
我的 colorama 版本 colorama==0.3.9
。
Colorama docs声明,当使用 autoreset=true
时,它将在 print
命令之后立即重置您的颜色和样式选项,这发生在您到达输入命令之前,这就是您不这样做的原因获取用户输入文本中的颜色。
关于python - 在Windows cmd中以颜色显示用户输入的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52532504/