如何打开文件进行读写,如果尚不存在,请创建它,如果存在,则不截断它?


  • 如果我使用r+,那么如果文件不存在,就不会创建它
  • 如果我使用w+,文件将被截断
  • 如果我使用a+,我只能追加而不能搜索预先存在的偏移

所以似乎不可能在对Python内置函数open的一次调用中做到这一点?我需要使用多个调用,并确保不会在两者之间引入竞争条件?

有一个小的低级助手:

import os
def open_create(name, flags):
return os.open(name, flags | os.O_CREAT)
with open("./testfile", 'r+', opener=open_create) as f:
... read/write ...

相关内容

  • 没有找到相关文章

最新更新