如果您想在 IDLE shell 中打印颜色,则使用 ASCII 转义码的答案将无法帮助您,因为它没有实现此功能。
有一个专门针对 IDLE 的 hack,可以让你写入它的PyShell
直接对象并指定IDLE已经定义的文本标签,例如"STRING"
默认情况下显示为绿色。
import sys
try:
shell = sys.stdout.shell
except AttributeError:
raise RuntimeError("you must run this program in IDLE")
shell.write("Wanna go explore? ","KEYWORD")
shell.write("OPTIONS","STRING")
shell.write(" : ","KEYWORD")
shell.write("Yes","DEFINITION")
shell.write(" or ","KEYWORD")
shell.write("No","COMMENT")
answer = input()
在IDLE下运行时会出现这样的提示:
以下是所有可用标签的列表:
print("here are all the valid tags:\n")
valid_tags = ('SYNC', 'stdin', 'BUILTIN', 'STRING', 'console', 'COMMENT', 'stdout',
'TODO','stderr', 'hit', 'DEFINITION', 'KEYWORD', 'ERROR', 'sel')
for tag in valid_tags:
shell.write(tag+"\n",tag)
注意'sel'
特殊之处在于它代表选中的文本,因此一旦单击其他内容,它将被取消选中。它还可用于启动选定要复制的一些文本。