Python 如何在一行上一次打印一个字符?
如何将字符串“hello world”打印到一行,但每次打印一个字符,以便在打印每个字母之间有延迟?我的解决方案要么导致每行一个字符,要么一次延迟打印整个字符串。这是我最近的一次Python 如何在一行上一次打印一个字符?,python,Python,如何将字符串“hello world”打印到一行,但每次打印一个字符,以便在打印每个字母之间有延迟?我的解决方案要么导致每行一个字符,要么一次延迟打印整个字符串。这是我最近的一次 import time string = 'hello world' for char in string: print char time.sleep(.25) 这里有两个技巧,您需要使用流将所有内容都放在正确的位置,并且还需要刷新流缓冲区 import time import sys def d
import time
string = 'hello world'
for char in string:
print char
time.sleep(.25)
这里有两个技巧,您需要使用流将所有内容都放在正确的位置,并且还需要刷新流缓冲区
import time
import sys
def delay_print(s):
for c in s:
sys.stdout.write(c)
sys.stdout.flush()
time.sleep(0.25)
delay_print("hello world")
下面是Python 3的一个简单技巧,因为您可以指定
print
函数的end
参数:
>>> import time
>>> string = "hello world"
>>> for char in string:
print(char, end='')
time.sleep(.25)
hello world
玩得开心!结果现在是动画 为什么要使用字符串插值
sys.stdout.write(c)
在我的系统上运行良好。有没有理由不使用此解决方案?它看起来简单而优雅。一个小的。默认输出是缓冲的,因此您需要添加flush=True,如下所示:print(char,end='',flush=True)
>>> import time
>>> string = "hello world"
>>> for char in string:
print(char, end='')
time.sleep(.25)
hello world