猿问

在 windows cmd 中以颜色显示用户输入的文本

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

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

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


from colorama import init

init(autoreset=True)

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


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

tournament = input()

这导致上图中的黄线。


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

http://img.mukewang.com/60daecb10001bfd403620032.jpg

有没有人为我提供解决方案,或者使用有限的 Windows cmd 是不可能的?


猛跑小猪
浏览 269回答 2
2回答

HUX布斯

init(autoreset=True)从您的代码中删除该行在我的机器上按您的意愿运行。import coloramafrom colorama import Fore,Style,Backcolorama.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==0.3.9。该COLORAMA文档状态使用时,autoreset=true它会重置你的颜色和后立即样式选项print命令,出现这种情况,你得到你输入命令之前,这就是为什么你没有得到在用户键入的文本的颜色。
随时随地看视频慕课网APP

相关分类

Python
我要回答