诸如 、 或 之类的程序vim
输出top
多alsamixer
行文本并以某种方式操纵已经编写的文本行。
我知道将\r
字符写入标准输出,它将光标返回到行首,允许覆盖当前行,但不能覆盖之前的任何行。
这些程序做了什么来让这些更高级的 UI 具有花哨的终端操作?就我而言,我正在寻找 Python 解决方案,但任何一般信息都会受到赞赏。
您需要查看 python curses库。
curses 模块提供了curses 库的接口,curses 库是便携式高级终端处理的事实标准。
虽然 curses 在 Unix 环境中使用最广泛,但也有适用于 DOS、OS/2 和可能的其他系统的版本。此扩展模块旨在匹配 ncurses 的 API,ncurses 是一个托管在 Linux 上的开源 curses 库和 Unix 的 BSD 变体。