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

2024-09-25 06:36:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我的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上安装了Python2.7.10。我在网上查了一下,我想我的终端是为了方便而削减了缓冲区,但现在我实际上需要缓冲区(我要打印很多延迟的文本)。在我的终端上是否有任何语句来打开缓冲区(或者修复它,因为它应该默认设置)?多谢了


Tags: 代码文本import终端your编译器timemac
1条回答
网友
1楼 · 发布于 2024-09-25 06:36:40

您需要在每个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()

相关问题 更多 >