我是否必须在写入文件后,在告诉其长度之前刷新文件?

  • 本文关键字:文件 刷新 是否 python file
  • 更新时间 :
  • 英文 :


我正在为Windows(不是cygwin!)和Mac编写一个跨平台程序。

我正在写入文件,然后立即尝试获取文件的新长度,而不先关闭文件。

我是否需要在写入后刷新文件,以保证获得准确的长度?

with open("myfile.bin", "r+b") as f:
  f.seek(100)
  f.truncate()
  f.write("hello world")
  # Do I need to f.flush here?
  f.seek(0, 2) # seeks to end of file
  fileSize = f.tell()
  # Is fileSize guaranteed to be correct?

不,您不需要呼叫flush。调用flush来强制将缓冲区中的字节写入流。

除此之外,f.seek(0,2)也不需要,因为文件位置已经在truncate, write方法调用之后的文件末尾。

相关内容

  • 没有找到相关文章

最新更新