[打印缓慢(模拟打字(
我从上面的链接中得到了答案,但只有当您在调用函数时将字符串作为参数时,它才有效。
我希望每次使用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〃;。