python - 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
有没有人见过这个,或者有任何想法我的问题可能是什么?
解决方案
Termcolor 输出 ANSI 终端控制代码。这些代码仅在输出到 ANSI 终端(例如 VT100)或模拟此类的程序时才具有预期效果。IDLE 是用于开发程序的编辑器和外壳。它可以打印程序输出的内容,无需解释。您的示例中的每个 '[' 左括号前面都有转义字符,但不会打印。
我认为情况与 VSCode 类似,只是它识别并删除了转义字符后面的代码。
我曾考虑在 IDLE 中添加终端模式来解释此类代码,但必须有人编写补丁。
推荐阅读
- javascript - 防止双重表单提交不起作用
- bash - UNIX;用常用词合并两个文件
- php - 如何每 1 分钟检查一次,然后发送给客户?
- django - 如何将参数从视图传递到表单?
- python - Selenium - Headless Chrome 在一台计算机上工作而不是另一台计算机
- python - 同时运行flask和socket server
- java - 没有为 intellij 中的某些行设置断点
- android - TabLayoutMediator 无限选项卡
- html - 保持纵横比,同时保持流体容器 100% 的宽度
- vba - 如何将主 Word 文档拆分为多个 Word 文档,而新文档末尾没有分节符