【问题标题】:Is it possible to print a constantly updating variable on one line?是否可以在一行上打印不断更新的变量?
【发布时间】:2020-08-30 14:55:40
【问题描述】:

这只是一个简单的例子,

import time
for i in range (1,11):
    print(i)
    time.sleep(1)

此代码计数为 10,但每个打印的 i 值都在新行上。是否可以将它们全部打印在第一行,并在每次新打印时删除当前数字,以便在一个地方计数到 10?

【问题讨论】:

  • 查看print()函数的documentation中的end=关键字参数。

标签: python loops printing line


【解决方案1】:

在要打印的数字前添加'\r',这将返回回车并覆盖最后一行:

import time
for i in range (1,11):
    print(f'\r{i}', end='')
    time.sleep(1)
# Add print after loop for a new line, when finishing
print()

【讨论】:

    【解决方案2】:

    您可以使用 sys.stdout.write。

    import sys
    import time
    for i in range (1,11):
        sys.stdout.write('\r' + str(i))
        sys.stdout.flush()
        time.sleep(1)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-19
      • 1970-01-01
      • 2017-05-30
      • 1970-01-01
      相关资源
      最近更新 更多