【问题标题】:Print updated string without showing previous one [duplicate]打印更新的字符串而不显示前一个 [重复]
【发布时间】:2021-01-25 01:43:42
【问题描述】:

假设我有当前代码:

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
...

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

我该怎么做?

【问题讨论】:

  • 是的,也可以:D(已接受答案的不错选择)@AnindyaPrithvi

标签: python printing


【解决方案1】:

您可以使用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()

【讨论】:

  • 这很好!但是有什么方法可以使输出更流畅? (因为它闪得很快,可能是因为screen.refresh :/)
  • 不幸的是,我不知道:(。我还编辑将 screen.clear() 更改为 screen.erase(),这可能会解决问题
猜你喜欢
  • 1970-01-01
  • 2020-02-15
  • 2017-06-05
  • 1970-01-01
  • 2018-11-19
  • 2014-06-20
  • 2019-02-19
  • 2017-02-02
  • 1970-01-01
相关资源
最近更新 更多