Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何编辑控制台输出_Python_Console - Fatal编程技术网

Python 如何编辑控制台输出

Python 如何编辑控制台输出,python,console,Python,Console,我有以下非常简单的代码 stdout.write("Hello World") stdout.write("\rBye world") stdout.write("\rActually hello back") 如果我要添加一个换行符,它会按预期打印“实际上是hello back” stdout.write("\n") 我怎样才能回到一个新行,然后回到行的开头,这样我就可以输出“Hi”而不是“Hi” Actually hello back Hi 我试过了 stdout.write("\r"

我有以下非常简单的代码

stdout.write("Hello World")
stdout.write("\rBye world")
stdout.write("\rActually hello back")
如果我要添加一个换行符,它会按预期打印“实际上是hello back”

stdout.write("\n")
我怎样才能回到一个新行,然后回到行的开头,这样我就可以输出“Hi”而不是“Hi”

Actually hello back
Hi
我试过了

stdout.write("\r")
stdout.write("\b")
然而,他们似乎都没有做到这一点。最终目标是显示一大块文本,然后实时更新输出,而无需再次写入。如何在python中实现这一点

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

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

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()

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

可能重复@TonyBabarino检查编辑