Python time.sleep方法无法正常工作

时间:2018-01-05 08:23:15

标签: python python-2.7 sleep

我用Python编写了这个小代码。它应该打印一个字符串中的每个字符,它们之间的休眠时间很短......

import time, sys

def writeText(string, t):
    i = 0
    while i < len(string):
        sys.stdout.write(string[i])
        time.sleep(float(t))
        i += 1

writeText("Hello World", 0.5)

但它只在0.5秒后打印整个字符串......我经常遇到这个问题,但我还没有找到解决方案。

2 个答案:

答案 0 :(得分:2)

sys.stdout.flush()可能会解决您的问题。

import time, sys

def writeText(string, t):
    i = 0
    while i < len(string):
        sys.stdout.write(string[i])
        time.sleep(float(t))
        i += 1
        sys.stdout.flush()

writeText("Hello World", 0.5)

答案 1 :(得分:2)

你应该添加

sys.stdout.flush()

写完后,强制输出文字。