如何编辑控制台输出



我有以下非常简单的代码

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 行文本,然后实时替换它们,而不仅仅是修改的一行。

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

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

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

import curses
import time
stdscr = curses.initscr()
stdscr.addstr("line 1n")
stdscr.addstr("line 2n")
stdscr.refresh()
time.sleep(3)
stdscr.erase()
stdscr.addstr("edited line 1n")
stdscr.addstr("edited line 2n")
stdscr.refresh()
time.sleep(3)
curses.endwin()

不过,这个库的功能要大得多。完整的教程在这里。

最新更新