如何在 Python 中關閉已開啟的檔案?
Open() 是 Python 中一個內建函式,它開啟一個檔案並返回一個檔案物件。檔案物件中的方法和屬性可用於收集有關您開啟的檔案的資訊。它們也可用於修改上述檔案。
開啟檔案
此函式需要兩個引數。首先列出檔名和完整路徑,然後是訪問模式。此函式返回一個檔案物件。
語法
以下是用於開啟檔案的語法
open(filename, mode)
這裡,檔名及其路徑由字串引數指定,模式引數用於確定檔案將用於讀還是寫。
注意 − 如果檔案和 Python 指令碼不在同一目錄中,則必須指定檔案的完整路徑。如果不提供模式,則預設訪問模式為讀取模式。
示例
以下是如何使用r+ 模式開啟檔案的示例 −
# Opening a file file = open("file.txt", "r+") print ("Name of the file: ", file.name) print ("Opening mode : ", file.mode)
輸出
以下是上述程式碼的輸出 −
Name of the file: file.txt Opening mode : r+
開啟檔案的各種模式
- ab − 以二進位制格式開啟檔案,但在其他方面與 a 模式相同。
- ab+ − 以二進位制格式開啟檔案,但在其他方面與 a+ 模式類似。
- a+ − 啟用讀取和追加到檔案。如果檔案已存在,則檔案指標位於檔案末尾;否則,將建立一個新檔案以進行讀取和寫入。
- a − 以追加模式開啟檔案。如果檔案存在,則指標位於檔案末尾;否則,將建立一個新檔案以進行寫入。
- wb − 與 w 模式類似,但以二進位制格式開啟檔案。
- wb+ − 與 w+ 模式類似,但以二進位制格式開啟檔案。
- w+ − 以只讀和只寫模式開啟檔案;其餘部分與 w 模式類似。
- w − 以寫入模式開啟檔案。替換現有檔案,如果現有檔案不存在則建立一個新檔案。
- rb − 以二進位制模式開啟檔案,但在其他方面與 r 模式相同。
- rb+ − 與 r+ 模式類似,只是以二進位制模式開啟檔案。
- r+ − 開啟檔案以便可以讀取和寫入。檔案指標位於檔案開頭。
- r − 以只讀模式開啟檔案。檔案指標位於檔案開頭。此外,這是預設模式。
- x − 開啟以獨佔建立檔案。如果檔案已存在,則操作失敗。
- t − 以純文字模式開啟(預設)。
- b − 以二進位制模式開啟。
- + − 透過開啟檔案來更新檔案(讀寫)。
關閉檔案
您可以直接使用檔案物件呼叫 close 函式,因為它不需要任何引數。可以多次呼叫它,但如果對已關閉的檔案執行任何操作,則會引發“ValueError”異常。
示例
以下是如何關閉檔案的示例 −
# Opening a file file = open("file.txt", "r+") # closing the file file.close()
注意 − 務必記住,在完成任務後始終顯式關閉每個開啟的檔案,並且無需保持開啟狀態,因為程式一次只能開啟一定數量的檔案。如果超過此限制,則沒有安全的方法可以恢復,因此軟體可能會崩潰。
Close() 並非完全安全。如果在嘗試對檔案執行某些操作時引發異常,則該函式會在不關閉檔案的情況下終止。最好使用 try...finally 塊。
示例
以下是一個示例,說明即使生成了異常並中斷程式執行,也可以保證檔案將被正確關閉 −
try: file = open("file.txt", "r+") finally: file.close()
注意 − 在 Python 中處理檔案操作的最安全方法是使用“with”語句,因為它確保在退出其內部的塊時關閉檔案。
示例
在下面的示例中,您不必顯式呼叫 close() 方法。此過程是內部的 −
with open("file.txt", "r+") as file: # perform some file operations
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP