是否可以在一行中打印一个不断更新的变量?

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)