【问题标题】:Python Overwrite Last Line Without AppendingPython覆盖最后一行而不附加
【发布时间】:2018-06-28 09:22:30
【问题描述】:

已经回答了类似的问题,例如 herehere

基于提供的答案,我尝试使用覆盖 Spyder 控制台中的最后一个输出行

interval = 1
for i in range(0,10):
    print(i, end = "\r")
    time.sleep(interval)

这给了我以下意外的输出:

0123456789

如果我将睡眠间隔减少到较短的interval = 0.01,那么我会得到我期望的输出

9

这些连续打印语句的时间如何影响正在打印的内容?更重要的是,我如何获得漂亮的输出? 仅当我使用 Spyder (3.2.6) 时才会发生这种情况,并且不会在常规 Python 控制台中发生。

【问题讨论】:

  • 它可能只是 Spyder 的终端实现。他们没有正确实现 \r 字符的地方。你说它不会发生在常规终端/控制台中?

标签: python anaconda spyder


【解决方案1】:

据我所知,spyder 实现了一个 IPython 控制台,它的行为可能不同。不妨看看this 的帖子。

【讨论】:

  • 谢谢,尤其是这条线对我有用:print('\r', 'Iteration', i, 'Score:', uniform(0, 1), end='')
猜你喜欢
  • 2023-03-17
  • 2018-01-08
  • 1970-01-01
  • 2016-06-04
  • 2020-07-01
  • 2011-12-17
  • 2012-06-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多