3
支持控制台着色的应用程序的通常规则是在当前控制台是TTY时激活它。如何在Python中检测伪控制台以激活着色?
这种方法打破了持续集成服务器(如Jenkins,Travis,...),因为它们没有为其伪控制台打开TTY。
我想知道是否有可能这两种情况之间进行区分:詹金斯下
mycommand
运行 - 我们要启用着色mycommand >> output.log
- 我们不希望与ANSI落得在日志文件中转义。
我的老ANSI检测代码:
import sys
import os
if (hasattr(sys.stderr, "isatty") and sys.stderr.isatty()) or \
('TERM' in os.environ.keys() and os.environ['TERM'] in ['linux']) or \
('PYCHARM_HOSTED' in os.environ.keys()):
coloring = True
我可以为了解决这个问题提高呢?