‘r’:只读模式
只读,不可写。打开时光标自动定位到开头位置。如果以‘r’模式打开,执行写操作,会提示io.UnsupportedOperation: not writable
‘w’:只写模式
只写,不可读。打开时自动清空原文档。如果以’w’模式打开执行读操作,会提示io.UnsupportedOperation: not readable
‘a’:追加模式
只写,不可读。打开时不
清空原文档,光标自动定位到文档末尾。如果以’a’模式打开执行读操作,会提示io.UnsupportedOperation: not readable
‘r+’:读写模式
先读后写。打开文档时不
清空原内容,光标定位正在开始位置。读完后光标会移到文档末尾,所以写的时候是追加在文档最后的。不会覆盖原内容。
如果以“r+”模式打开,但是先写后读,那么写入的内容会覆盖原内容,读取时从写结束位置开始读。如果原文档内容小于新写入的,那么全部被覆盖,读到的为空。如果原文档内容大于新写入的,那么读到的内容为原文档剩下的内容。
‘w+’:写读模式
先写后读。打开文档即清空原内容,从文档开头写起,写完后光标自动移到文档末尾,此时进行读取,内容为空。需要将光标移到首位,f.seek(0)。
如果以“w+”模式打开,先进行读操作,读到的内容也是为空,因为打开即被清空了。
‘a+’:追加写读模式
先写后读。追加在原文档末尾,不会清空原内容,写完后光标移到文档末尾,此时进行读取,内容为空。需要将光标移到首位,f.seek(0)。
如果以“a+”模式打开,先进行读操作,读到的内容也是为空,因为打开即把光标定位在文档末尾。