【问题标题】: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?
【问题讨论】:
标签:
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)