我有一个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
个字节。
如此多的数据如何装入缓冲区?还是有其他事情发生?