print()的`flush`有什么作用?
该print()
函数有一个布尔型可选参数flush
,默认为False。
该文档说这是强制冲洗流。
我不明白冲洗的概念。这里是在冲水吗?什么是流冲洗?
-
通常,输出到文件或控制台已缓冲,至少在输出换行符之前会输出文本。刷新可确保所有缓冲的输出都将到达目的地。
我确实使用了它,例如,当我
Do you want to continue (Y/n):
在获得输入之前输入诸如之类的用户提示时。可以模拟(在使用Python 2.7的Ubuntu 12.4上):
from __future__ import print_function import sys from time import sleep fp = sys.stdout print('Do you want to continue (Y/n): ', end='') # fp.flush() sleep(5)
如果运行此命令,则将看到提示字符串直到睡眠结束且程序退出后才会显示。如果您用“ flush”取消注释该行,则会看到提示,然后必须等待5秒钟才能完成程序