无法在Mac终端上运行延时文本(Python)

时间:2017-07-22 02:05:02

标签: python text delay typewriter

我的Mac上的终端遇到了问题。 我正在尝试打印延迟文本(就像它出现在类型编写器上),并且当我在在线编译器上测试时,代码(下面)是正确的。

import sys
import time


intro1= "Welcome player. What's your name?"

for x in intro1:
    sys.stdout.write(x)
    time.sleep(0.2)

但我的Mac终端只是冻结了一秒钟并一次打印出整个声明。我在Mac上获得了Python 2.7.10。我在网上查了一下,我觉得我的终端正在削减缓冲区以方便起见,但现在我实际上需要缓冲区(我将打印延迟文本很多 )。在我的终端上是否有任何声明可以打开缓冲区(或修复它,因为它应该默认设置)?非常感谢

1 个答案:

答案 0 :(得分:1)

您需要在每个sys.stdout.flush()之后添加sys.stdout.write()以强制退出该角色,而不是让它被缓冲:

import sys
import time

introduction = "Welcome player.  What's your name? "

for character in introduction:
    sys.stdout.write(character)
    sys.stdout.flush()
    time.sleep(0.2)

name = raw_input()