鱼C论坛

 找回密码
 立即注册
查看: 21708|回复: 6

[已解决]python中print函数中flush参数用法?

[复制链接]
发表于 2016-1-27 16:59:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
查看help里面写的print
print(...)
    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,求问这个参数是干什么用的,并且是怎么用的
最佳答案
2016-1-27 17:25:06
简单说就是将缓存里面的内容立即输出到标准输出流(这里是sys.stdout, 也就是默认的显示器)

这个功能在客户端脚本几乎用不上, 大多用于服务器端

比如反向Ajax里面就要用到flush, 举个例子: 在线web聊天页面会实时显示聊天的内容, 其实后台是一直在向服务器请求数据的, 正常情况下是请求完毕之后才会输出相应内容, 但是是即时聊天, 需要一有相应就得立即返回, flush也就起作用了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-27 17:25:06 | 显示全部楼层    本楼为最佳答案   
简单说就是将缓存里面的内容立即输出到标准输出流(这里是sys.stdout, 也就是默认的显示器)

这个功能在客户端脚本几乎用不上, 大多用于服务器端

比如反向Ajax里面就要用到flush, 举个例子: 在线web聊天页面会实时显示聊天的内容, 其实后台是一直在向服务器请求数据的, 正常情况下是请求完毕之后才会输出相应内容, 但是是即时聊天, 需要一有相应就得立即返回, flush也就起作用了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2016-1-27 17:31:59 | 显示全部楼层
hldh214 发表于 2016-1-27 17:25
简单说就是将缓存里面的内容立即输出到标准输出流(这里是sys.stdout, 也就是默认的显示器)

这个功能在客 ...

哦哦,大概明白了,那flush参数是false是指有相应立即返回,还是true是有相应立即返回?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-27 17:38:20 | 显示全部楼层
shuofxz 发表于 2016-1-27 17:31
哦哦,大概明白了,那flush参数是false是指有相应立即返回,还是true是有相应立即返回?

True是立即返回~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-27 18:31:08 | 显示全部楼层
本帖最后由 冬雪雪冬 于 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文件立即就能看到文件有内容了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2016-1-27 20:11:04 | 显示全部楼层
冬雪雪冬 发表于 2016-1-27 18:31
正如hidh214版主所说,flush为True时是立即输出。
举个例子,我们知道print也可输出到文件。
在IDLE中输 ...

哦哦,谢谢
我更明白flush的用法了~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-7 10:15:06 | 显示全部楼层
谢谢hldh214讲解,找了很多地方,还是鱼C论坛讲解得最透彻!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 23:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表