如果您想在 IDLE shell 中打印颜色,则使用 ASCI 转义码不会对您有所帮助,因为它没有实现此功能。
有一个特定于 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'
它表示被选中的文本是特殊的,因此一旦单击其他内容,它将被取消选中。它也可用于开始选择要复制的一些文本。