一尘不染

python多久刷新一次文件?

python

  1. Python多久刷新一次文件?
  2. Python多久刷新一次到stdout?

我不确定(1)。

至于(2),我相信Python会在每一行后刷新到stdout。但是,如果将stdout重载为文件,它是否会经常刷新?


阅读 428

收藏
2020-02-16

共1个答案

一尘不染

对于文件操作,除非你另行配置,否则Python使用操作系统的默认缓冲。你可以指定缓冲区大小,未缓冲或行缓冲。

例如,open函数采用缓冲区大小参数。

http://docs.python.org/library/functions.html#open

“可选的缓冲参数指定文件的所需缓冲区大小:”

  • 0表示未缓冲,
  • 1表示行缓冲,
  • 任何其他正值表示使用(大约)该大小的缓冲区。
  • 负缓冲意味着使用系统默认值,通常对tty设备使用行缓冲,而对于其他文件则使用完全缓冲。
  • 如果省略,则使用系统默认值。

码:

bufsize = 0
f = open('file.txt', 'w', buffering=bufsize)
2020-02-16