当字符串更新时,如何在 python 中就地打印多行字符串而不移动到下一行?
我尝试过 pandas、numpy、print,\r 仅适用于打印的字符串的最后一行。有什么想法或解决方法吗?
from sys import stdout
from time import sleep
for i in range(5):
text = "line one:{}\nline two:{}".format(i,i+2)
stdout.write("\r"+text)
sleep(1)
输出应该只有两行并用值更新。
line one:0 > 将此值更新为 1
第二行:2>将此值更新为3
最佳答案
你可以尝试curses
替换屏幕任意位置的文本。此示例将在不同行中显示从 i
到 i+5
的连续数字。
import curses, time
scr = curses.initscr()
for i in range(10):
for k in range(5):
scr.addstr(k, 0, "%2d" % (i+k))
scr.refresh()
time.sleep(0.5)
关于python - 就地打印多行字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48458526/