如何解决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 举报,一经查实,本站将立刻删除。