python多长时间刷新一个文件?

问题:

  1. Python多长时间刷新一个文件?
  2. Python多长时间刷新到stdout?

我不确定(1)。
对于(2),我相信Python会在每一行新的行之后都冲到stdout。但是,如果您将stdout重载为一个文件,它是否会频繁刷新?

回答:

对于文件操作,Python使用操作系统的默认缓冲,除非您另行配置。您可以指定缓冲区大小,无缓冲或线缓冲。
例如,open函数需要一个buffer size参数。
 http://docs.python.org/library/functions.html#open
“可选的缓冲参数指定文件所需的缓冲区大小:0表示无缓冲,1表示线路缓冲,任何其他正值表示使用(大约)该大小的缓冲区。负缓存意味着使用系统默认,通常是针对tty设备进行线路缓冲,并为其他文件进行完全缓冲。如果省略,则使用系统默认值。

bufsize = 0
f = open('file.txt', 'w', bufsize)

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How often does python flush to a file?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

59 + = 68