print 中 flush的作用
print(*object, flush = True)会强制刷新流,但是在loading效果中,和flush = False的效果并没有不同
import time
for i in range(10):
print('.',end = '')
time.sleep(0.5)
效果与下方代码效果相同:
import time
for i in range(10):
print('.',end = '', flush = True)
time.sleep(0.5)
请问两者差别在哪里,能否讲解下flush 的作用。 https://blog.csdn.net/granthoo/article/details/82880562 强制刷新输出流,就是不会先放到缓冲区,直接输出 本帖最后由 jackz007 于 2020-4-29 17:45 编辑
flush 是 print() 函数的命名可选参数之一,该参数是布尔型变量,有效值为 True 和 False,缺省值为 False。在缺省状态下,系统会把 print() 函数需要显示的文本信息保存到输出缓冲区,只有满足特定条件或接到清空缓冲区命令的时候,才会把缓冲区的内容实际输出到屏幕上,并把缓冲区清空。在这种状态下,用户无法实时看到 print() 函数输出的文字信息。而如果使用了 flush = True 选项,print() 函数会自动添加清空缓冲区的指令,使用户及时看到屏显信息。 flush是直接写到内存里,而不是print存到硬盘上,科学术语就是楼上大神说的。
这种用于强制刷新内存的案例在实际应用中有很多。
最常见的就是那种可以模拟做个动态加载进度百分比条的。
页:
[1]