r:【只读】
该文件必须已存在。
r+:【可读可写】
该文件必须已存在,写为追加在文件内容末尾。
rb:【只读】
表示以二进制方式读取文件。该文件必须已存在。
w:【只写】
打开即默认创建一个新文件,如果文件已存在,则覆盖写(即文件内原始数据会被新写入的数据清空覆盖)。
w+:【写读】
打开创建新文件并写入数据,如果文件已存在,则覆盖写。
wb:【只写】
表示以二进制写方式打开,只能写文件, 如果文件不存在,创建该文件;如果文件已存在,则覆盖写。
a:【追加写】
若打开的是已有文件则直接对已有文件操作,若打开文件不存在则创建新文件,只能执行写(追加在后面),不能读。
a+:【追加读写】
打开文件方式与写入方式和 a 一样,但是可以读。需注意的是若刚用 a+ 打开一个文件,一般不能直接读取,因为此时光标已经是文件末尾,除非把光标移动到初始位置或任意非末尾的位置。
ab:【追加写】
追加模式,新数据会写到文件末尾。
总结:看似那么多模式,无非是三大类:读 r(read)、写 w(write)、追加 a(append)。