是否可以在一行中打印一个不断更新的变量?
Is it possible to print a constantly updating variable on one line?
这只是一个简单的例子,
import time
for i in range (1,11):
print(i)
time.sleep(1)
此代码计数为 10,但每个打印的 i
值都在一个新行上。是否可以将它们全部打印在第一行,并在每次新打印时删除当前数字,以便在一个地方计数为 10?
在要打印的数字前添加'\r',这将return回车并覆盖最后一行:
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()
您可以使用 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)
这只是一个简单的例子,
import time
for i in range (1,11):
print(i)
time.sleep(1)
此代码计数为 10,但每个打印的 i
值都在一个新行上。是否可以将它们全部打印在第一行,并在每次新打印时删除当前数字,以便在一个地方计数为 10?
在要打印的数字前添加'\r',这将return回车并覆盖最后一行:
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()
您可以使用 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)