① Python內置函數(47)——open
Python內置函數open功能詳解
open函數用於打開文件並返回一個文件讀寫對象。如果文件無法打開,則會拋出一個OSError異常。
參數file可以是一個字元串或位元組對象,表示文件的相對路徑(當前工作目錄)或絕對路徑,也可以是文件描述符。使用文件描述符時,如果closefd為True(默認),則文件在對象關閉時會自動關閉;如果為False,則文件描述符不會關閉。
參數mode用於指定打開文件的模式。常見的模式如下:
默認模式'r':以只讀模式打開文本文件,確保文件存在。
'w':以只寫模式打開。若文件存在,則清空文件內容並重新創建;若文件不存在,則新建文件。寫入模式需要保證文件所在目錄存在,文件可不存在。
'a':以追加模式打開。若文件存在,則內容追加到文件末尾;若文件不存在,則新建文件。該模式下不能使用read*()方法。
模式'b'表示以二進制模式打開,'t'表示以文本模式打開,默認為文本模式。
組合模式如'r+'表示以文本讀寫模式打開,可寫入文件的任意位置;'w+'表示以文本讀寫模式打開,文件在打開前被清空。其他組合模式如'ab'、'wb'、'rb'等以此類推。
參數buffering用於設置緩沖策略,0表示關閉緩沖(僅在二進制模式下有效),1表示行緩沖(文本模式下有效),其他正整數表示固定大小的緩沖塊。
參數encoding用於指定文件編碼格式,僅在文本模式下有效。默認編碼由locale.getpreferredencoding()函數返回,但支持任何Python支持的文本編碼。
參數errors用於指定在讀寫文件時遇到錯誤時的處理級別。常見錯誤處理包括忽略錯誤、跳過錯誤、終止程序等。
參數newline用於控制文本模式下的換行符,可取值為None、'\n'、'\r'、''、'\r\n'。
參數closefd在傳入文件描述符時使用,若為False,則關閉文件描述符;若為True(默認),則不會關閉。
使用open函數時,首先需明確文件操作的模式、編碼等參數,以確保文件正確讀寫。函數返回的對象支持常見的文件讀寫操作,如read()、write()等。在實際應用中,合理配置open函數的參數可有效管理文件資源,避免資源浪費或數據丟失。