python延时效果print逐个打印字符

我想让python打印类似“正在加载。。。”,把每个句号逐个打印出来,并且它们之间的打印间隔睡眠时间0.5秒间隔

实现方法:

#!/bin/env python
# -*- coding:utf-8 -*-

import sys
import time

def slow(msg,text):
    print(msg,end='')
    for i in text:
        print(i,end='')
        sys.stdout.flush()
        time.sleep(0.8)
    print()

if __name__ == '__main__':    
    aaa=slow('loginning','...')
    print('aaa=',aaa)

 

运行:C:\Python27\python.exe E:/python/PyDev/day3/延时.py

结果:

loginning . . .

进程已结束,退出代码0

 

出处:https://blog.csdn.net/weixin_39610229/article/details/110566934

=======================================================================================

ython使用 print 打印延迟问题

print 作为python中最常用的一个函数,其实是有一个小问题的,就是默认情况下,python的print是启用了stdout缓冲的,这意味着在某些情况下,你的输出可能不会被立刻打印出来,而是会被存在缓冲区中,等待某个契机被触发打印。

这就造成了python的打印延时问题,小问题,但是很烦人

解决方案有两种:

  • 方法一:每次print之后,都调用sys.stdout的flush()函数,把缓冲区手动打印出来,但是这样太麻烦了;
  • 方法二:使用命令行参数-u来启动python,即通过python -u xxx.py来执行脚本,这样子会禁用stdout缓冲,输出可以被立即打印。

可以查阅参考文献2,博主描述了下关于缓冲区的几个概念。

参考文献:

  1. python print延迟问题的解决方案
  2. python—打印函数print延时且不按顺序输出

 

2024-10-12 15:11:02【出处】:https://blog.csdn.net/wlh2220133699/article/details/130976170

=======================================================================================

posted on 2024-10-12 15:11  jack_Meng  阅读(16)  评论(0编辑  收藏  举报

导航