慢慢打印每一件东西(模拟打字)



[打印缓慢(模拟打字(

我从上面的链接中得到了答案,但只有当您在调用函数时将字符串作为参数时,它才有效。

我希望每次使用print()时都能缓慢打印代码。

有可能吗?

是的,你可以这样做,但是,我认为这不是一个好主意:

import time
def dprint(string):
for letter in string:
__builtins__.print(letter,end = '', flush=True)
time.sleep(.1)
__builtins__.print("")
print = dprint
print("something")

是的,您可以使用stdout版本来完成,如下所示。

import sys, time
def print(s):
for letter in s:
sys.stdout.write(letter)
time.sleep(.1)
print("Foo")

不建议更改print()的默认行为,只是为了方便移植Python 2程序。此外,在没有特殊参数的情况下重载打印功能将使print()的默认功能变得毫无意义。

创建另一个函数,为打印添加延迟。还要记住,不能使用print(),因为它会附加一行新行。您必须使用sys.stdout.write()

因此,一个基本功能看起来像:

def typrint(x):
for i in len(x):
sys.stdout.write(x[i])
sleep(0.05)
sys.stdout.write(“n”)

查看本文,了解Python为何将print()更新为函数

我用这个作为问题的解决方案,

import sys,time
def delay(str):
for i in str:
sys.stdout.write(i)
sys.stdout.flush()
time.sleep(0.04)

注意:您需要在每个打印报表中添加";延迟;语句";\n〃;。

最新更新