慢慢打印所有内容(模拟输入)

问题描述 投票:0回答:3

[printing slowly (Simulate typing)

我从上面的链接中得到了答案,但是仅当您在调用函数时将字符串放在parameter中时才有效。

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

可能吗?

python python-3.x simulation simulator
3个回答
0
投票

是的,您可以使用如下所示的标准输出版本。

import sys, time

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

print("Foo")

1
投票

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

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

print = dprint

print("something")

0
投票

不建议更改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”)

选中此article,以了解Python为什么将print()更新为函数

© www.soinside.com 2019 - 2024. All rights reserved.