所以我有点小问题。
我有这个密码:

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

如果有人能解决为什么会发生这种情况以及如何解决,我将非常感激。
提前谢谢你。

最佳答案

您可以使用flushprint参数在每次调用后始终刷新输出缓冲区:

def typingeffect(string):
    for i in string:
        print(i, end="", flush=True)
        sleep(0.2)

否则,标准输出的刷新通常只发生在换行符上。

10-07 12:34
查看更多