LIUBOLIUHAO 发表于 2022-5-15 08:58:27

flush()

语法
以下是 print() 方法的语法:

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

flush -- 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。

请问这个刷新缓存有什么作用,在哪要用到

傻眼貓咪 发表于 2022-5-15 09:07:49

本帖最后由 傻眼貓咪 于 2022-5-15 11:52 编辑

试试这个代码:
有 flush:import time
print("读取中", end = "")
for i in range(6):
    print(".", end = '', flush = True)
    time.sleep(.5)没有 flushimport time
print("读取中", end = "")
for i in range(6):
    print(".", end = '')
    time.sleep(.5)
可以看得出,没有 flush 的时候,默认都是等到所有数据留在缓冲区后,才开始一次打印全部,而有 flush 则是当每次已有数据,就直接打印。

Twilight6 发表于 2022-5-15 10:19:40


print() 函数的 flush 参数可以设置为 True,以阻止函数对输出数据进行缓冲,并强行刷新。

如果将 flush 参数设置为 True,则 print() 函数将不会对数据进行缓冲以提高效率,而是在每次调用时不断地对数据进行刷新。

简单理解就是打印函数在每次调用时将输出数据写在屏幕或文件上,而不是存入缓冲区。

页: [1]
查看完整版本: flush()