擅长:python、mysql、java
<p>如果您想在空闲shell中打印颜色,使用ASCI转义代码没有应答将有助于您,因为它没有实现此功能。</p>
<p>有一个特定于IDLE的hack,允许您直接写入它的<code>PyShell</code>对象,并指定IDLE已经定义的文本标记,例如<code>"STRING"</code>,默认情况下将显示为绿色。</p>
<pre><code>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()
</code></pre>
<p>当在空闲状态下运行时将出现以下提示:</p>
<p><a href="https://i.stack.imgur.com/lknQJ.png" rel="noreferrer"><img src="https://i.stack.imgur.com/lknQJ.png" alt="enter image description here"/></a></p>
<p>以下是所有有效标签的列表:</p>
<pre><code>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)
</code></pre>
<p>注意<code>'sel'</code>是特殊的,它表示选中的文本,因此一旦单击其他内容,它将被取消选中。它还可以用于启动一些选定要复制的文本。</p>