当前位置: 首页 > 面试题库 >

print()的`flush`有什么作用?

江文斌
2023-03-14
问题内容

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秒钟才能完成程序



 类似资料:
  • 问题内容: 我是Python的新手。 我在python2.7上运行以下代码,使用print或print()时看到不同的结果。这两个功能有什么区别?我读了其他问题,例如,这个问题,但是没有找到答案。 结果是: 问题答案: 在Python 2.7(及更高版本)中,是一个带有许多参数的 语句 。它打印参数之间有一个空格。 所以如果你这样做 它首先打印字符串“ box:”,然后打印一个空格,然后打印任何内

  • 本文向大家介绍Print、echo、print_r有什么区别?相关面试题,主要包含被问及Print、echo、print_r有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 (1) echo和print都可以做输出,不同的是,echo不是函数,没有返回值,而print是一个函数有返回值,所以相对而言如果只是输出echo会更快,而print_r通常用于打印变量的相关信息,通常在调试中使用。 (

  • 问题内容: 在Java中,方法用于流中。但是我不明白使用这种方法的全部目的是什么? 告诉我一些建议。 问题答案: 从该方法的文档中flush: 刷新输出流并强制写出所有缓冲的输出字节。刷新的一般约定是,调用它的指示是,如果先前写入的任何字节已由输出流的实现缓冲,则应立即将这些字节写入其预期的目标。

  • 问题内容: 当我运行以下代码片段时 我收到以下消息: 并有4个条目(与打印相对应的3的a为0(实际错误为18) 但是,如果我替换为,则会得到预期的结果: 消息是,我在…中只有一个条目 有什么办法可以避免??的奇怪行为? 问题答案: 不,您无法避免这种行为。它是TdsParser.ThrowExceptionAndWarning()编写方式的结果 特别是这条线 我的猜测是,无论出于何种原因,对于Ex

  • 问题内容: 请检查这个要点并告诉我,怎么了? 为什么我看不到我的留言? 要点:https : //gist.github.com/cnaize/895f61b762a9f5ee074c 如果简单,我有两个功能: 和功能: 为什么不起作用? 编辑: 我已经更新了要点。现在在哪里: 我在日志中: 但是我什么也没看到。 有任何想法吗? 问题答案: 冲洗工作正常。问题是Chrome的纯文本呈现器在显示任何

  • 问题内容: 如果一个网页以…开头有什么区别 并且如果页面以 如果没有区别,我想我可以忽略元标头,因为我只想在所有IE版本中以最标准的方式呈现它。 问题答案: 这个答案是几年前发布的,现在的问题确实应该是 您_是否 _应该考虑 在您的网站上 使用 标记? 微软对其浏览器所做的更改(更多有关以下内容)。 根据您支持的Microsoft浏览器,您可能不需要继续使用该标记。如果您需要支持IE9或IE8,那