一.总结
a:附加写,不可读。
a+:附加读写。追加写。
r:只读,最常用。不创建,不存在会报错。(读二进制文件可能会读取不全)
rb:只读。二进制文件按二进制位进行读取。不创建,不存在会报错。
rt:只读。文本文件用二进制读取。不创建,不存在会报错。
r+:可读写。覆盖写。不创建,不存在会报错。
w:只写。存在则覆盖。不存在则创建。
w+:可读写。存在则覆盖。不存在则创建。
二.区分
r只读,r+读写,不创建,即需要事先存在一个文件以供读/读写,若不存在文件会报错
w新建只写,w+新建读写,二者都会将文件内容清零,即事先不需要有该文件存在,若已经存在则会覆盖(以w方式打开,不能读出。w+可读写)
w+与r+区别:
r+:可读可写,若文件不存在,报错
w+: 可读可写,若文件不存在,创建
r+与a+区别:
r+:覆盖写
a+:追加写
示例:
f = open("1.txt",'w+')
f.write('123')
f = open("1.txt",'r+')
f.write('456')
f = open("1.txt",'a+')
f.write('789')
输出:456789
不可读的打开方式:w和a
若不存在会创建新文件的打开方式:a,a+,w,w+