什么是最优雅的打开文件的方式,使得:
- 如果文件不存在,则创建该文件,
- 如果文件存在,则不会被截断,
- 可以写入文件的任何部分(通过寻址),而不仅仅是文件末尾?
open
似乎无法胜任:它提供了各种模式,但我尝试过的每个模式都不能满足我的要求:
r+
如果文件不存在则失败。w+
会截断文件,丢失任何现有内容。a+
将强制所有写入到文件的末尾,在我的OS X上至少如此。