首页 > 解决方案 > 打印更新的字符串而不显示前一个

问题描述

所以假设我有当前的代码:

import time

now = time.time()
future = now + 10
while time.time() < future:
    print(time.time())
    pass

运行它时,我得到:

1602289187.9999743
1602289187.999989
1602289188.000001
1602289188.0000124
1602289188.0000281
1602289188.0000439
1602289188.0000587
1602289188.0000732
1602289188.0000875
1602289188.0001028
1602289188.0001178
1602289188.0001347
...

结果。现在我想要的是只显示更新的字符串,而不显示前一个(基本上没有在换行符上打印新结果,而是替换旧的,并且只显示更新计数的单行)。

我怎样才能做到这一点?

标签: pythonprinting

解决方案


你可以使用curses图书馆

import time
import curses
screen = curses.initscr()
now = time.time()
future = now + 10
while time.time() < future:
    screen.erase()
    screen.addstr(str(time.time()))
    screen.refresh()
    pass
curses.endwin()

推荐阅读