我正在寻找一个可以在Windows下添加ANSI支持的Python模块.

这意味着在导入模块后,如果输出ANSI转义字符串,它们将相应地显示.

解决方法:

有两个python模块可以执行此coloramatendo.ansiterm模块,最初是为waf编写的.


初步测试表明,即使需要两行代码而不是一行代码,colorama也会更加成熟.

import sys
try:
   import colorama
   colorama.init()
except:
   try:
       import tendo.ansiterm
   except:
       pass

sys.stdout.write"\033[33mYellow Submarine"
sys.stderr.write"\033[31mred, red , wine!"

现在,两者都将正常工作,但如果您尝试仅重定向stderr或stdout中的一个,则ansiterm将输出ANSI代码到屏幕并重定向输出.

我不确定,但我怀疑正确的行为是当输出si不是tty时剥离ANSI代码,你不希望在日志文件中看到ANSI转义.

标签: python, terminal, console, ansi-escape

相关文章推荐

添加新评论,含*的栏目为必填