【python】类file文件处理

【flush方法】

通常由于缓冲,write不将数据写入文件,而是写入内存的缓冲区,需要使用flush写入文件,并清空缓冲区

文件的flush方法的作用是强制清空缓存写入文件。默认每行flush一下???

如果缓冲区满了,也会自动写入。

close()之前先flush()

如果因为意外原因没有close(),那缓冲区的内容就丢失啦。

【os.fsync】

为了确保写入硬盘,file.flush()之后要调用os.fsync()

有时,调用了flush却没有写入硬盘,python文档回答了这个问题。

是因为有两个层面的buffering

1、internal buffers

2、operating system buffers

【buffering】

在open文件的时候可以指定参数buffering, 

设为0: 无buffer

设为1:buffer line

设为大于1整数:buffer大小

设为-1:系统默认的缓冲大小

原文地址:https://www.cnblogs.com/yesuuu/p/8144991.html