我正在尝试创建一个简单的函数,它将逐字键入字符串,例如在游戏中,文本滚动。在
我的代码如下:
import time
def ScrollingText(s):
s=str(s)
for letter in s:
print(letter, end="")
time.sleep(.05)
print("") # newline at the end
if __name__=='__main__':
ScrollingText("Hello World!")
但是,当我运行时,它会等待,然后立即转储整个字符串。我是python新手(还有这个论坛),所以如果有人能给我指出正确的方向,告诉我我在这里缺少什么时间。睡觉我将非常感激。谢谢!在
由于字符串中没有新行,python将对其进行缓冲。必须在每个字符后显式刷新输出,如下所示:
为了获得更好的性能,I/O通常是缓冲的,也就是说,python将收集您打印的数据,直到它可以作为一个大的块发送出去(顺便说一下,这也适用于文件I/O)。通过调用flush()对系统标准输出(这是print默认写入的文件对象),强制python将数据发送到操作系统(操作系统将把数据发送到终端)。在
相关问题 更多 >
编程相关推荐