Python彩色输出和分页输出

5

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

使用-R标志与less命令。这将导致它输出ANSI颜色转义序列而不是更改它们。它似乎在我的Debian和Mac OS X系统上都得到支持,这表明-R被广泛支持。


9
谢谢,Dietrich!这让我想到了一些略有不同的东西——但最终实现目的是相同的。 pydoc.pipepager(outputtext, cmd='less -R') - Chasester
@Chasester,感谢您的评论!那才是真正的答案,您应该单独发布它并获得Karma点数。 - ACK_stoverflow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接