python - 整个程序内的延迟打印

标签 python python-3.x printing

我希望程序中的每条消息都以每个字符之间的小延迟打印。

我可以使用

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/

相关文章:

python - 在 CentOS7 上从源代码编译 Python3.4 时无法构建可选模块 readline 和 _curses

python - 如何为 Homebrew 安装找到 python 和 python3 配置目录?

python - 我已经安装了 pynotify,仍然收到错误 no module named pynotify

python - 如何使用 shap.utils.hclust 过滤冗余特征,而不仅仅是通过目视检查条形图?

python - Python 3 str.join() 是否保证顺序?

css - 如何定义打印版元素的颜色和背景色

Java 访问拒绝打印到 Windows 7 上的收据打印机

web-applications - 从网站自动打印图像

python - numpy 中的逻辑加法

python - 如何从作为字典列表的 json 字符串中的值构建数据框?