如何在IDLE终端中为用户输入着色及将输入文本改为绿色?
IDLE终端文本颜色设置方案
问题1:如何在IDLE终端中为用户输入添加颜色?
IDLE的终端环境和普通命令行不同,它自带了sys.stdout.shell对象来支持带样式的文本输出。你可以通过这个对象的write方法,把文本和对应的样式标签一起输出,就能实现带颜色的效果。
示例代码:
import sys try: # 获取IDLE专属的shell输出对象 color_shell = sys.stdout.shell except AttributeError: # 非IDLE环境下直接报错提示 raise RuntimeError("请在IDLE环境中运行此代码") # 获取用户输入内容 full_name = input('你的名字是什么?') # 分两部分输出带颜色的文本,第二个参数是样式标签 color_shell.write("我的名字是 ", "DEFINITION") color_shell.write(full_name, "DEFINITION")
代码说明:
- 先尝试获取
sys.stdout.shell,这是IDLE特有的对象,普通终端里没有这个属性 - 用
input()拿到用户输入后,通过color_shell.write()输出内容,第二个参数指定的DEFINITION标签对应IDLE默认的蓝色样式
问题2:如何将IDLE终端中的文本输入改为绿色?
要把文本改成绿色,只需要把write方法里的样式标签换成对应绿色的标签就行。IDLE里STRING标签默认对应绿色,修改代码中的标签参数即可:
修改后的代码:
import sys try: color_shell = sys.stdout.shell except AttributeError: raise RuntimeError("请在IDLE环境中运行此代码") full_name = input('你的名字是什么?') # 将样式标签替换为STRING,对应绿色显示 color_shell.write("我的名字是 ", "STRING") color_shell.write(full_name, "STRING")
补充说明:
IDLE内置的常用样式标签及默认颜色:
KEYWORD:紫色COMMENT:红色STRING:绿色DEFINITION:蓝色BUILTIN:棕色TEXT:黑色(默认无样式文本)
你也可以通过IDLE的「选项→配置IDLE→语法」菜单,自定义各标签对应的颜色。
内容的提问来源于stack exchange,提问作者Nonsense
相关产品推荐
相关产品推荐

