我希望程序中的每条消息都以每个字符之间的小延迟打印。
我可以使用
import time
string = "hello world"
for char in string:
print(char, end='')
time.sleep(.25)
对单个字符串执行此操作。我可以使用 __print__ 方法将其推断为一个类,但这仍然需要我每次想要使用编辑的打印方法时都使用一个类。如何为整个程序打印的每个字符添加延迟,以便我可以在任何地方使用 print("foo")
并期望它按预期工作?
最佳答案
那么你可以做的是为此创建一个函数,即:
def print_delayed(string):
for char in string:
builtins.print(char, end='', flush=True) # flush gets the actual delay, otherwise
# the text is printed after all the sleeps
time.sleep(.25)
然后,您可以将 print
设置为等于此函数,即:
print = print_delayed
但是,我不建议这样做;只需调用您创建的新函数,而不是覆盖内置函数。
这是一个working example .
关于python - 整个程序内的延迟打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53351926/