程序如何覆盖以前的输出行?

时间:2013-08-17 10:14:57

标签: python terminal

vimtopalsamixer等程序会输出多行文字,并以某种方式操纵已写入的文本行。

我知道将\r字符写入stdout,它将光标返回到行的开头,允许覆盖当前行,但不包括之前的任何行。

这些程序通过花哨的终端操作来实现这些更高级的UI是做什么的?在我的情况下,我正在寻找一个Python解决方案,但任何一般信息将不胜感激。

1 个答案:

答案 0 :(得分:4)

您需要查看python curses库。

  

curses模块提供了curses库的接口   便携式高级终端处理的事实标准。

     

虽然curses在Unix环境中使用最为广泛,但版本却是如此   可用于DOS,OS / 2以及可能的其他系统。这个   扩展模块旨在匹配ncurses的API,一个   Linux上托管的开源curses库和BSD的变种   的Unix。