无法使用`less + F`查看由Python编写的文件的更新

时间:2018-11-24 20:34:34

标签: python python-3.x file buffer less-unix

我有一个Python代码,该代码进行一些计算并将数据写入C.csv文件中。计算量巨大并且需要时间。

因此,在我的程序运行时,我想使用以下方法检查数据是否正在写入:

$ less +F C.csv

我注意到的是,在我的程序运行时,我没有看到任何写入C.csv的输出,但是当我发出CTRL+C信号时,突然出现了很多条目在C.csv文件中。

现在,我知道磁盘I / O通常已被缓冲,并且程序可能在实际将其写入文件之前将等待该缓冲区变满(这是我的假设)。因此,我用谷歌搜索了如何检查Buffer的大小,这建议了以下方法:

import io
print (io.DEFAULT_BUFFER_SIZE)

这将在我的机器中返回8192(字节)。我认为只有在要写入的数据不适合缓冲区时,即数据大小超过8192个字节时,才会发生写操作。但是,当我在C.csv之后检查CTRL+C的大小时,它显示了236540个字节。

如此多的数据如何装入缓冲区?还是有其他事情发生?

0 个答案:

没有答案