我想使用python3在同一行的终端上缓慢打印字符串的字符。我使用了这段代码。
for i in "Hello":
print(i,end='')
time.sleep(0.2)
此代码等待0.2 * 5(" Hello" len)并立即打印所有字符。当我使用sys.stdout.write()函数而不是print函数时,它会打印出来字符逐行而不是相同的行。如何在延迟时在同一行上打印字符?
答案 0 :(得分:3)
import sys
import time
for c in "Hello":
sys.stdout.write(c)
sys.stdout.flush() # <- add this
time.sleep(0.2)
或者使用python 3 flush
函数中的print
参数
print(c, end='', flush=True)