是否有线上角色?(与\n相反)

Spo*_*Bob 49 c++ python terminal console

我想在串行控制台中覆盖上面一行的内容.是否有一个允许我向上移动的角色?

谢谢.

Sve*_*ach 68

大多数终端都了解ANSI转义码.转到上一行开头的代码是"\033[F".

  • 您可以使用 [colorama](https://pypi.org/project/colorama/) 包使 `\033[A` 序列在 Windows 上工作。 (2认同)

Lev*_*von 9

不,不是很容易,因为你必须使用像curses库这样的东西,特别是如果你想要更多地控制光标放置并以编程方式做更多的事情.

这里是关于使用Curses编程的Python文档的链接,这个简短的教程/示例也可能是有趣的.

我刚刚在文档中找到此注释,以防您使用Windows:

没有人制作了curses模块的Windows端口.在Windows平台上,尝试Fredrik Lundh编写的控制台模块.Console模块提供光标可寻址文本输出,以及对鼠标和键盘输入的完全支持,可从 http://effbot.org/zone/console-index.htm获得.

我相信C++中有NCurses库,如果你想用C++来解决,链接页面有一个关于移动光标的部分.还有NCurses Programming HowTo.

很久以前我用C语言成功地使用了curses库.

更新:

我错过了关于在终端/串行上运行它的部分,因为ANSI转义序列,特别是对于像你这样的简单任务,将是最简单的,我同意@SvenMarnach解决方案.

  • 我不同意“不,不太容易,因为你必须使用像curses库这样的东西”。您可以使用 ANSI 转义码进行光标放置,它们可以在 Windows 和 POSIX 上运行,而且很简单。 (2认同)