Python open()函式詳解:開啟指定檔案
阿新 • • 發佈:2022-03-10
在 Python 中,如果想要操作檔案,首先需要建立或者開啟指定的檔案,並建立一個檔案物件,而這些工作可以通過內建的 open() 函式實現。
open() 函式用於建立或開啟指定檔案,該函式的常用語法格式如下:
file = open(file_name , mode='r', buffering=-1 , encoding = None )
-
file_name:要建立或開啟檔案的檔名稱,該名稱要用引號(單引號或雙引號都可以)括起來。需要注意的是,如果要開啟的檔案和當前執行的程式碼檔案位於同一目錄,則直接寫檔名即可;否則,此引數需要指定開啟檔案所在的完整路徑。
-
mode:可引數,用於指定檔案的開啟模式。可選的開啟模式如表 1 所示。如果不寫,則預設以只讀(r)模式開啟檔案。
-
buffering:可選引數,用於指定對檔案做讀寫操作時,是否使用緩衝區(本節後續會詳細介紹)。
-
encoding:手動設定開啟檔案時所使用的編碼格式,不同平臺的 ecoding 引數值也不同,以 Windows 為例,其預設為 cp936(實際上就是 GBK 編碼)。
模式 | 意義 | 注意事項 |
---|---|---|
r | 只讀模式開啟檔案,讀檔案內容的指標會放在檔案的開頭。 | 操作的檔案必須存在。 |
rb | 以二進位制格式、採用只讀模式開啟檔案,讀檔案內容的指標位於檔案的開頭,一般用於非文字檔案,如圖片檔案、音訊檔案等。 | 操作的檔案必須存在。 |
r+ | 開啟檔案後,既可以從頭讀取檔案內容,也可以從開頭向檔案中寫入新的內容,寫入的新內容會覆蓋檔案中等長度的原有內容。 | 操作的檔案必須存在。 |
rb+ | 以二進位制格式、採用讀寫模式開啟檔案,讀寫檔案的指標會放在檔案的開頭,通常針對非文字檔案(如音訊檔案)。 | 操作的檔案必須存在。 |
w | 以只寫模式開啟檔案,若該檔案存在,開啟時會清空檔案中原有的內容。 | 若檔案存在,會清空其原有內容(覆蓋檔案);反之,則建立新檔案。 |
wb | 以二進位制格式、只寫模式開啟檔案,一般用於非文字檔案(如音訊檔案) | 若檔案存在,會清空其原有內容(覆蓋檔案);反之,則建立新檔案 |
w+ | 開啟檔案後,會對原有內容進行清空,並對該檔案有讀寫許可權。 | 若檔案存在,會清空其原有內容(覆蓋檔案);反之,則建立新檔案 |
wb+ | 以二進位制格式、讀寫模式開啟檔案,一般用於非文字檔案 | 若檔案存在,會清空其原有內容(覆蓋檔案);反之,則建立新檔案 |
a | 以追加模式開啟一個檔案,對檔案只有寫入許可權,如果檔案已經存在,檔案指標將放在檔案的末尾(即新寫入內容會位於已有內容之後);反之,則會建立新檔案。 | |
ab | 以二進位制格式開啟檔案,並採用追加模式,對檔案只有寫許可權。如果該檔案已存在,檔案指標位於檔案末尾(新寫入檔案會位於已有內容之後);反之,則建立新檔案。 | |
a+ | 以讀寫模式開啟檔案;如果檔案存在,檔案指標放在檔案的末尾(新寫入檔案會位於已有內容之後);反之,則建立新檔案。 | |
ab+ | 以二進位制模式開啟檔案,並採用追加模式,對檔案具有讀寫許可權,如果檔案存在,則檔案指標位於檔案的末尾(新寫入檔案會位於已有內容之後);反之,則建立新檔案。 |