如何在 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

更新於: 2022-08-17

2K+ 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.