r : 可读, 不可写, 必须存在, 可在任意位置读取, 文件指针自由移动
w : 不可读, 可写, 可以不存在, 若存在则必会擦掉原有内容从头写, 文件指针无效
a : 不可读, 可写, 可以不存在, 必不能修改原有内容, 只能在结尾追加写, 文件指针无效
r+ : 可读可写, 必须存在, 可在任意位置读写, 读与写共用同一个指针
w+ : 可读可写, 可以不存在, 必会擦掉原有内容从头写, 文件指针只对读有效 (写操作会将文件指针移动到文件尾)
a+ : 可读可写, 可以不存在, 必不能修改原有内容, 只能在结尾追加写, 文件指针只对读有效 (写操作会将文件指针移动到文件尾)
总结:
1. r可读, w/a可写, 带+的可读可写
2. r/r+, 文件指针自由移动, 其他的, 写时文件指针会移动到结尾 (也就是不能对非空白内容进行覆写)
3. w/w+, 会擦掉文件原有内容, 而 a/a+ 不会擦掉原有内容, 只会追加