如何编辑控制台输出

气泡

我有以下非常简单的代码

stdout.write("Hello World")
stdout.write("\rBye world")
stdout.write("\rActually hello back")

哪个按预期打印,“实际上打个招呼”,但是如果我要添加换行符

stdout.write("\n")

我如何返回换行符,然后返回到行首,因此实际上我只能输出“ Hi”而不是

Actually hello back
Hi

我试过了

stdout.write("\r")
stdout.write("\b")

然而,他们似乎都没有做到这一点。最终目标是显示大量文本,然后实时更新输出而无需再次写入。我如何在python中实现呢?

编辑我的问题与建议的问题不同,因为我不想修改一行。我希望能够打印4-5行文本,然后实时替换它们,而不仅仅是被修改的一行。

托尼·巴巴里诺(Tony Babarino)

好吧,如果您想完全控制终端,我建议您使用curses库

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

使用它,您可以在终端中编辑多行,如下所示:

import curses
import time

stdscr = curses.initscr()

stdscr.addstr("line 1\n")
stdscr.addstr("line 2\n")
stdscr.refresh()
time.sleep(3)

stdscr.erase()
stdscr.addstr("edited line 1\n")
stdscr.addstr("edited line 2\n")
stdscr.refresh()
time.sleep(3)

curses.endwin()

但是,该库的功能要强大得多。完整的教程在这里

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章