| r | 以只讀模式打開文件 | 光標在文件開頭 | 如果文件不存在,則出錯 |
| r+ | 以讀寫模式打開文件 | 光標在文件開頭 | 如果文件不存在,則出錯。讀寫都可以移動光標。寫入時,如果光標不在文件末尾,則會覆蓋源文件 |
| w | 以只寫模式打開文件 | 光標在文件開頭 | 如果文件不存在,則創建文件,如果文件已存在,則從文件頭開始覆蓋文件。如果寫入內容比源文件少,則會保留未覆蓋的內容 |
| w+ | 以讀寫模式打開文件 | 光標在文件開頭 | 如果文件不存在,則會創建文件。文件已存在,從光標位置覆蓋文件。讀寫都可以移動光標。 |
| a | 以只寫模式打開文件 | 光標在文件結尾,追加模式 | 文件不存在是,創建文件。文件存在時,打開時,光標在文件末尾,寫入不覆蓋源文件 |
| a+ | 以讀寫模式打開文件 | 光標在文件結尾,追加模式 | 文件不存在是,創建文件。文件存在時,打開時,光標在文件末尾,寫入不覆蓋源文件。 |
| b | 與前面六種結合使用,以二進制方式讀或者寫 |
f.read([size]):默認一次性讀入打開的文件內容。如果有size參數,則指定每次讀入字符數。注意,此處按字符來讀入,一個漢字為一個字符
f.readline([size]):一次讀入一行文件內容
f.readlines([size]):將文件內容全部讀入,保存在一個列表中,每行為一個元素。
f.writ(str,encoding=):將str寫入文件,可以指定寫入的編碼格式,默認為utf-8
f.writlines()
f.readable() : 判斷是否可讀,返回布爾值。如果是在只寫模式下打開文件, 也是返回false
f.writable():判斷是否可寫
f.tell() : 返回當前光標位置
f.seek(offset,whence=0):將光標位置移至所需位置。offset為偏移量。whence定義開始偏移的位置。0為從文件開頭偏移。1為從當前位置開始偏移。2為從文件末尾開始偏移,默認為0。注意,此處偏移量是按字節計算,也就是一個漢字最少需要兩個偏移量。如果偏移量正好講一個漢字分開,則會報錯。
f.truncate(數值) 從光標位置截斷/刪除后面內容。
f.flush() 將內存內容立即寫入硬盤
