python中print函数中flush参数用法?
查看help里面写的printprint(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file:a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
其中有一个参数是flush,求问这个参数是干什么用的,并且是怎么用的 简单说就是将缓存里面的内容立即输出到标准输出流(这里是sys.stdout, 也就是默认的显示器)
这个功能在客户端脚本几乎用不上, 大多用于服务器端
比如反向Ajax里面就要用到flush, 举个例子: 在线web聊天页面会实时显示聊天的内容, 其实后台是一直在向服务器请求数据的, 正常情况下是请求完毕之后才会输出相应内容, 但是是即时聊天, 需要一有相应就得立即返回, flush也就起作用了{:10_257:} hldh214 发表于 2016-1-27 17:25
简单说就是将缓存里面的内容立即输出到标准输出流(这里是sys.stdout, 也就是默认的显示器)
这个功能在客 ...
哦哦,大概明白了,那flush参数是false是指有相应立即返回,还是true是有相应立即返回? shuofxz 发表于 2016-1-27 17:31
哦哦,大概明白了,那flush参数是false是指有相应立即返回,还是true是有相应立即返回?
True是立即返回~ 本帖最后由 冬雪雪冬 于 2016-1-27 21:23 编辑
正如hidh214版主所说,flush为True时是立即输出。
举个例子,我们知道print也可输出到文件。
在IDLE中输入
f = open('text.txt', 'w')
print('ABC',file = f)
可以看到text.txt文件这时还是为空,只有f.close()后才将内容写进文件中。
如果改为
print('ABC', file = f, flush = True)
则不用close文件立即就能看到文件有内容了。 冬雪雪冬 发表于 2016-1-27 18:31
正如hidh214版主所说,flush为True时是立即输出。
举个例子,我们知道print也可输出到文件。
在IDLE中输 ...
哦哦,谢谢
我更明白flush的用法了~ 谢谢hldh214讲解,找了很多地方,还是鱼C论坛讲解得最透彻!
页:
[1]