gpt4 book ai didi

python - Python 中的打字效果

转载 作者:太空狗 更新时间:2023-10-30 02:11:47 24 4
gpt4 key购买 nike

我想制作这样的程序,它从字符串中读取字符并在一些延迟后打印每个字符,这样它看起来就像打字效果。

现在我的问题是 sleep 功能无法正常工作。它在长时间延迟后打印整个句子。

import sys
from time import sleep

words = "This is just a test :P"
for char in words:
sleep(0.5)
sys.stdout.write(char)

我使用“sys.stdout.write”来删除字符之间的空格。

最佳答案

你应该在每次迭代后使用 sys.stdout.flush()

问题是 stdout 被换行刷新或者手动用 sys.stdout.flush()

所以结果是

import sys
from time import sleep

words = "This is just a test :P"
for char in words:
sleep(0.5)
sys.stdout.write(char)
sys.stdout.flush()

缓冲输出的原因是需要执行系统调用才能进行输出,系统调用既昂贵又耗时(因为上下文切换等)。因此,用户空间库会尝试缓冲它,如果需要,您需要手动刷新它。

只是为了完整性...错误输出通常是非缓冲的(调试起来很困难)。所以下面也会起作用。重要的是要意识到它被打印到错误输出中。

import sys
from time import sleep

words = "This is just a test :P"
for char in words:
sleep(0.5)
sys.stderr.write(char)

关于python - Python 中的打字效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20302331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com