我想让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,博主描述了下关于缓冲区的几个概念。
参考文献:
2024-10-12 15:11:02【出处】:https://blog.csdn.net/wlh2220133699/article/details/130976170
=======================================================================================
标签:__,stdout,python,打印,延时,print From: https://www.cnblogs.com/mq0036/p/18460581