如何在IDLE终端中打印彩色文本?

4 python colors python-idle python-3.x

这很容易成为一个重复的问题 - 因为它是.但是,对此有很多不充分的答案(例如,尝试curses! - 指向26页的文档).

我只是想在IDLE输出时用蓝色以外的颜色打印文本.可能吗?有什么简单的方法可以做到这一点?我在Windows上运行Python 3.6.

请举例说明.

(我发现ANSI代码在IDLE中不起作用,只在终端上有效.)

Jua*_*n T 12

把它放在你的代码的"开始":

import sys

try: color = sys.stdout.shell
except AttributeError: raise RuntimeError("Use IDLE")
Run Code Online (Sandbox Code Playgroud)

然后color.write(YourText,Color)用于"打印":

color.write("Hi, are you called Miharu461? \n","KEYWORD")
color.write("Yes","STRING")
color.write(" or ","KEYWORD")
color.write("No\n","COMMENT")
Run Code Online (Sandbox Code Playgroud)

这打印:

打印


注意:这不会自动输入回车(就像在print函数/语句中一样).所以,当你\n在最后一个字符串的末尾打印放置它.

"颜色",你可以把有:SYNC,stdin,BUILTIN,STRING,console,COMMENT,stdout,TODO,stderr,hit,DEFINITION,KEYWORD,ERROR,和sel.

注2:这取决于您用于IDLE的配色方案.所以我建议你用它来突出显示,而不是制作一个程序来询问颜色是什么字.


小智 5

您也可以使用该clrprint模块在空闲、终端和 Powershell 中打印彩色文本。

安装:

pip install clrprint
Run Code Online (Sandbox Code Playgroud)

用法:

from clrprint import *
clrhelp()  # to see colors available
user_input = clrinput('INPUT MESSAGE', clr='green')  # just like input()
clrprint('YOURTEXT', user_input, clr='color')  # just like print()
Run Code Online (Sandbox Code Playgroud)