如何打印文本,使其看起来像是在打字?

时间:2020-03-09 21:00:41

标签: python

我正在尝试制作一个python程序,该程序将打印出字符串中的每个字母,并在每个字母之间稍有停顿,以使其看起来像是实时键入。代替仅一次添加整行文本的print()函数。

我对此进行了相当多的研究,很难找到一个可靠的答案。 实现此目的的一种方法就是制作一堆带有time.sleep()的打印函数,

但是它们打印在不同的行上,即使您可以将它们打印在同一行上,效率也很低。 那我该怎么办呢?

1 个答案:

答案 0 :(得分:5)

这真的很容易,您可以使用它,

import time
string = ("Hey user whatup? Where are you!")
for char in string:
    print(char, end='')
    time.sleep(.01)

您可以更改time.sleep(.01)时间,以使其更快或更慢。

您还可以像这样随机进行人类打字,

import time
import random
import sys
words = " "

def faketype(words):
  words
  for char in words:
    time.sleep(random.choice([0.3, 0.11, 0.08, 0.07,   0.07, 0.07, 0.06, 0.06, 0.05, 0.01]))
    sys.stdout.write(char)
    sys.stdout.flush()
  time.sleep(1)

faketype("Example of randomly timed charecters to create a human-like typing effect. \n")
faketype("It works better when you have multiple lines to genererate more reading space. \n")