如果你想在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:
")
valid_tags = ('SYNC', 'stdin', 'BUILTIN', 'STRING', 'console', 'COMMENT', 'stdout',
'TODO','stderr', 'hit', 'DEFINITION', 'KEYWORD', 'ERROR', 'sel')
for tag in valid_tags:
shell.write(tag+"
",tag)
请注意,’sel’是特殊的,它表示所选的文本,因此一旦点击其他内容,它将被取消选中.它也可以用来启动一些选择复制的文本.