今天在调试一个小demo的时候输出需要输出值,于是本能的使用print函数输出,
大体结构如下
def demo(num):
print(num)
for i in range(10):
time.sleep(1)
print(num)
然而奇怪的是print并不会立即打印,而是在执行完毕整个方法后才输出,冥思苦相半天终于从生锈的脑袋里想起“缓冲区”这个概念,查证资料后得到解决办法,供各位小伙伴参考
- 使用flush() 方法
import sys
print(xxxx)
sys.stdout.flush() - python 3.x版本可以设定flush参数
print(xxx,flush=True)
以上