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

JJJ*_*jim 4 python terminal

程序,如vimtopalsamixer文本输出多行并以某种方式操纵这已经被写入文本行。

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

这些程序做了什么来拥有这些更高级的带有花哨终端操作的用户界面?就我而言,我正在寻找 Python 解决方案,但任何一般信息将不胜感激。

Ste*_*nes 5

您需要查看 python诅咒库。

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

虽然curses 在Unix 环境中使用最为广泛,但也有适用于DOS、OS/2 和其他系统的版本。该扩展模块旨在匹配 ncurses 的 API,这是一个托管在 Linux 上的开源 Curses 库和 Unix 的 BSD 变体。