gpt4 book ai didi

Python:在命令提示符中一个接一个地打印字母

转载 作者:太空宇宙 更新时间:2023-11-04 03:37:05 25 4
gpt4 key购买 nike

最近我学习了 Python 3.4 编程,并且阅读了另一个关于如何 printing slowly (Simulate typing) 的问题。 ,并在我的代码中使用了类似的 def。

import time

def type(str):
for letter in str:
print(letter, end='')
time.sleep(0.02)
print("\n")

type("This sentence is typed.")

在 IDLE 中一切正常,但是一旦我尝试使用 Windows 命令提示符运行它,CMD 会等待 IDLE 键入它所花费的时间(在这种情况下为半秒),然后将其吐出,就好像它已被打印一样.

我认为 time.sleep 语句以某种方式被破坏了,尽管

print("One")
time.sleep(2)
print("Two")

工作得很好。

有没有办法一次打印一个字母,字母之间的间隔很短,还是根本不可能?

提前致谢!

最佳答案

尝试在每个字符后对 stdout 强制刷新。问题是 stdout 通常会被缓冲,直到输出换行符、EOF 或一定数量的字节。

import time
import sys

def type(str):
for letter in str:
print(letter, end='')
sys.stdout.flush()
time.sleep(0.02)
print("\n")

type("This sentence is typed.")

或者,在 Python3 中,正如@PeterWood 提到的,您可以更改您的打印以使其自动刷新。

        print(letter, end='', flush=True)

关于Python:在命令提示符中一个接一个地打印字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28549190/

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