首页 > 解决方案 > VSCode 和 IDLE 没有正确输出闪烁的文本

问题描述

我正在尝试用一些简单的 Python 代码使一些文本闪烁。我在 Ubuntu 20.04 上运行 Python 3.8.10。当我在常规终端窗口中通过 Python 运行以下代码时,它可以正常工作(闪烁):

from termcolor import colored, cprint

cprint('Hello world!' 'blue', attrs=['blink'])

但是,当我尝试通过 VSCode 运行它时,输出不会闪烁,而当我通过 IDLE 运行它时,情况更糟……输出如下:

[5m[34mHello world![0m

有没有人见过这个,或者有任何想法我的问题可能是什么?

标签: pythonvisual-studio-codepython-idle

解决方案


Termcolor 输出 ANSI 终端控制代码。这些代码仅在输出到 ANSI 终端(例如 VT100)或模拟此类的程序时才具有预期效果。IDLE 是用于开发程序的编辑器和外壳。它可以打印程序输出的内容,无需解释。您的示例中的每个 '[' 左括号前面都有转义字符,但不会打印。

我认为情况与 VSCode 类似,只是它识别并删除了转义字符后面的代码。

我曾考虑在 IDLE 中添加终端模式来解释此类代码,但必须有人编写补丁。


推荐阅读