fileobj.flush是否保证os.stat被更新?

问题描述

我正在打开文件并写入文件。冲洗后,os.stat(file)是否保证具有正确的大小,还是我需要os.fsync()

os.fsync()保证刷新内部操作系统的缓冲区,但会产生较大的开销。 如果我不想使用它,是否可以依靠主要操作系统的stat()来考虑缓冲区?

快速测试显示了可喜的结果,但我不确定它是否可重复:

>>> import tempfile
>>> import os
>>> f = tempfile.TemporaryFile()
>>> os.stat(f.fileno()).st_size
0
>>> f.write(b"abc")
3
>>> f.flush()
>>> os.stat(f.fileno()).st_size
3

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)