阿里雲天池Python訓練營(第9天)

2021-10-09 11:14:07 字數 2227 閱讀 5029

python open() 方法用於開啟乙個檔案,並返回檔案物件,在對檔案進行處理過程都需要使用到這個函式,如果該檔案無法被開啟,會丟擲 oserror。

**注意:**使用 open() 方法一定要保證關閉檔案物件,即呼叫 close() 方法。

open() 函式常用形式是接收兩個引數:檔名(file)和模式(mode)。

open(file, mode='r')
完整的語法格式為:

open(file, mode='r', buffering=-1, encoding=none, errors=none, newline=none, closefd=true, opener=none)
引數說明:

mode 引數有:

模式描述

t文字模式 (預設)。

x寫模式,新建乙個檔案,如果該檔案已存在則會報錯。

b二進位制模式。

+開啟乙個檔案進行更新(可讀可寫)。

u通用換行模式(python 3 不支援)。

r以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。

rbr+

開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。

rb+w

開啟乙個檔案只用於寫入。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。

wb以二進位制格式開啟乙個檔案只用於寫入。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。一般用於非文字檔案如等。

w+開啟乙個檔案用於讀寫。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。

wb+以二進位制格式開啟乙個檔案用於讀寫。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。一般用於非文字檔案如等。

a開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。

ab以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。

a+開啟乙個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。

ab+以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。

預設為文字模式,如果要以二進位制模式開啟,加上b

file 物件使用 open 函式來建立,下表列出了 file 物件常用的函式:

序號方法及描述

1file.close()關閉檔案。關閉後檔案不能再進行讀寫操作。

2file.flush()重新整理檔案內部緩衝,直接把內部緩衝區的資料立刻寫入檔案, 而不是被動的等待輸出緩衝區寫入。

3file.fileno()返回乙個整型的檔案描述符(file descriptor fd 整型), 可以用在如os模組的read方法等一些底層操作上。

4file.isatty()如果檔案連線到乙個終端裝置返回 true,否則返回 false。

5file.next()**python 3 中的 file 物件不支援 next() 方法。**返回檔案下一行。

6[file.read(size])從檔案讀取指定的位元組數,如果未給定或為負則讀取所有。

7[file.readline(size])讀取整行,包括 「\n」 字元。

8[file.readlines(sizeint])讀取所有行並返回列表,若給定sizeint>0,返回總和大約為sizeint位元組的行, 實際讀取值可能比 sizeint 較大, 因為需要填充緩衝區。

9[file.seek(offset, whence])移動檔案讀取指標到指定位置

10file.tell()返回檔案當前位置。

11[file.truncate(size])從檔案的首行首字元開始截斷,截斷檔案為 size 個字元,無 size 表示從當前位置截斷;截斷之後後面的所有字元被刪除,其中 windows 系統下的換行代表2個字元大小。

12file.write(str)將字串寫入檔案,返回的是寫入的字元長度。

13file.writelines(sequence)向檔案寫入乙個序列字串列表,如果需要換行則要自己加入每行的換行符。

阿里雲天池Python訓練營

字串 引號之間的字元集合 單引號或雙引號 反斜槓符號 單引號 雙引號 n換行 t橫向製表符 tab r回車 原始字串 所有的字串都是直接按照字面的意思來使用 不轉義特殊或不能列印的字元 在字串前邊加乙個英文本母 r 三引號允許字串跨多行 可包含換行符 製表符以及其他特殊字元 具有不可修改性 通過元素...

阿里雲天池python訓練營

函式是物件 可從函式中返回用於構建高階函式 def函式名 引數 函式 文件字串 function suite return 表示式 以def 形參必須放在圓括號中 形參只是形式 表示佔據的引數位置 函式的第一行語句可使用文件字串 存放函式說明 利用.doc 呼叫 執行的 需要縮排 return 表示...

阿里雲天池Python訓練營

本節主要介紹python中的類與物件,並針對相關用法進行展開說明。其中拓展了需要掌握及區別的內容,對於類的用法及物件的含義需重點掌握。類定義物件的結構 以類為模板建立物件 物件是類的例項 類不但包含方法定義 還包含所有例項共享的資料 class 類名 類的實現 類的名稱以大寫字母開頭 子類建構函式基...