我的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。我在网上查了一下,我觉得我的终端正在削减缓冲区以方便起见,但现在我实际上需要缓冲区(我将打印延迟文本很多 )。在我的终端上是否有任何声明可以打开缓冲区(或修复它,因为它应该默认设置)?非常感谢
答案 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()