Python颜色输出和分页输出
我在用Python 2.4.x,遇到一个问题,就是我无法安装任何非标准的模块。我的环境是*nix。
我有一些输出内容,使用了ansi颜色来美化,效果很好。但是输出内容太长了,我需要把它通过管道传给less,或者用pydoc的page()来处理。
一旦我这样做,颜色就变成了
ESC[1;36m TEXT TO FOLLOW: ESC[1;37m
我在Cucumber: pipe output without losing color上看到,Adam提到很多通过管道输出的内容会失去颜色,但如果直接发送到终端就没问题。
使用pydoc的ttypager可以保留颜色输出,但它没有“less”那种可以向上滚动的功能。
我该如何同时拥有这两种功能呢?既能保留颜色,又能像less那样滚动?
谢谢。
1 个回答
9
在使用 less
命令的时候,加上 -R
这个选项。这样做会让它直接显示ANSI颜色的转义序列,而不是把它们转换成其他格式。根据我的经验,这个选项在我的Debian系统和Mac OS X系统上都能用,这说明 -R
这个选项是很常见的,很多地方都支持。