所以我有点小问题。
我有这个密码:
def typingeffect(string):
string = list(string)
for i in string:
print(i, end="")
sleep(0.2)
typingeffect("Hello")
当我通过python的(3.7)空闲运行这段代码时,它会按预期工作,以0.2秒的延迟将一个字符放在另一个字符后面。但是,当我通过cmd.exe运行它时,它只是将它打印为一个字符串。
只有当我取出
end=""
时,它才能通过命令工作,在这种情况下,它以0.2秒的延迟打印字母,但在每个字符后使用换行符不会产生键入效果,而是:H
e
l
l
o
如果有人能解决为什么会发生这种情况以及如何解决,我将非常感激。
提前谢谢你。
最佳答案
您可以使用flush
的print
参数在每次调用后始终刷新输出缓冲区:
def typingeffect(string):
for i in string:
print(i, end="", flush=True)
sleep(0.2)
否则,标准输出的刷新通常只发生在换行符上。