浅谈python print(xx, flush = True)

原理:

print() 函数会把内容放到内存中, 内存中的内容并不一定能够及时刷新显示到屏幕中(应该是要满足某个条件,这个条件现在还不清楚)。 使用flush=True之后,会在print结束之后,不管你有没有达到条件,立即将内存中的东西显示到屏幕上,清空缓存。

使用场景:

1.尤其是在while循环中,要想每进行一次while循环体,在屏幕上更新打印的内容就得使用flush = True的参数。

  1. 打开一个文件, 向其写入字符串, 在关闭文件f.close()之前, 打开文件是看不到写入的字符的。 要想在关闭之前实时的看到写入的字符串,应该用flush = True.
f = open("input.txt", "w")
f.write("aaaaaa")
f.flush()   #强行把缓冲区中的内容放到磁盘中
s = input("请输入回车键")
f.close()

当没有输入回车键时,数据也依然写入到文件中,如果没有flush()方法的话,那么只有按下回车键才会把数据保存到文件中

输出结果:
tarena@tedu:~/zengsf$ python3 exercise822.py
请输入回车键

原文地址:https://www.cnblogs.com/hanfe1/p/13841817.html