如何在 Python 中開啟檔案以寫入?


在 Python 中,在檔案處理領域,我們遇到了幾種不同型別的操作;其中一項操作是開啟檔案以進行寫入;此操作允許您建立新檔案或用新資料覆蓋現有內容。在本文中,我們將介紹幾種使用 Python 以寫入模式開啟檔案的方法。為了便於理解和學習,我們在下面提供了幾個程式碼示例,並附帶分步說明,以幫助您掌握在 Python 中寫入檔案的過程。

以寫入模式開啟檔案以寫入文字

為了能夠以寫入模式開啟檔案以寫入文字,請按照以下步驟操作

  • 步驟 1:使用 open() 函式開啟檔案。您可以提供檔案路徑作為第一個引數,並使用模式“w”表示寫入模式。

  • 步驟 2:接下來,將返回的檔案物件分配給一個變數,以便進行後續操作,例如將資料寫入檔案。

  • 步驟 3:然後,使用 write() 方法將文字內容寫入檔案。

  • 步驟 4:最後,關閉檔案以確保正確處理系統資源。

示例

假設我們有一個如下所示的文字檔案

#myfile.txt
This is a test file

# Open the file in write mode for text writing
file = open('myfile.txt', 'w')
# Write text content to the file
file.write("Hello, World!")

# Lastly, you can close the file
file.close()

當我們執行上述程式碼,然後開啟 myfile.txt 時,我們會發現其內容已被覆蓋,並顯示以下輸出。

輸出

Hello, World!

以寫入模式開啟檔案以寫入二進位制資料

要執行以寫入模式開啟檔案以寫入二進位制資料的過程,請按照類似的步驟操作

  • 步驟 1:使用 open() 函式開啟檔案。然後,您可以指定檔案路徑作為第一個引數,並使用模式“wb”表示二進位制寫入的寫入模式。

  • 步驟 2:然後,將返回的檔案物件分配給一個變數,以便進行進一步操作,例如將二進位制資料寫入檔案。

  • 步驟 3:您還可以使用 write() 方法將二進位制資料寫入檔案。

  • 步驟 4:最後,您可以關閉檔案以確保正確處理系統資源。

示例

假設我們有一個二進位制檔案 myfile.bin,我們執行以下程式碼

# Open the file in write mode for binary writing
file = open('myfile.bin', 'wb')
# Write binary data to the file
data = bytearray([0x48, 0x65, 0x6c, 0x6c, 0x6f])
file.write(data)
# Lastly, you close the file
file.close()

執行上述程式碼後,如果 myfile.bin 是一個空檔案,則將其寫入為新檔案;如果它是一個現有檔案,則其內容將被覆蓋。

使用上下文管理器進行檔案寫入

我們必須知道,Python 提供了一種方便且優雅的方法來使用上下文管理器處理檔案。眾所周知,上下文管理器會自動處理檔案關閉,即使發生異常或錯誤也是如此。以下是如何使用上下文管理器以寫入模式開啟檔案

  • 步驟 1:使用“with 語句”和 open() 函式以寫入模式開啟檔案。

  • 步驟 2:繼續在 with 塊內將返回的檔案物件分配給一個變數。

  • 步驟 3:最後,您可以在 with 塊內將所需內容寫入檔案。

示例

假設我們有一個如下所示的文字檔案

#myfile.txt
This is a test file

# Open the file in write mode using a context manager
with open('myfile.txt', 'w') as file:
    # Write text content to the file
    file.write("Hello, World!")

當我們執行上述程式碼,然後開啟 myfile.txt 時,我們會發現其內容已被覆蓋,並顯示以下輸出。

輸出

Hello, World!

將多行寫入檔案

為了能夠將多行文字寫入檔案,您可以按照以下步驟操作

  • 步驟 1:使用 open() 函式以寫入模式開啟檔案。

  • 步驟 2:將返回的檔案物件分配給一個變數。

  • 步驟 3:使用 write() 方法將每一行文字寫入檔案。每行結尾處使用換行符 \n。

  • 步驟 4:最後,您可以關閉檔案以確保正確處理系統資源。

示例

假設我們有一個如下所示的文字檔案

#myfile.txt
This is a test file

# Open the file in write mode
file = open('myfile.txt', 'w')

# Write multiple lines of text to the file
file.write("Line 1\n")
file.write("Line 2\n")
file.write("Line 3\n")

# Lastly, you can close the file
file.close()

當我們執行上述程式碼,然後開啟 myfile.txt 時,我們會發現其內容已被覆蓋,並顯示以下輸出。

輸出

    Line 1
    Line 2
    Line 3    

將內容追加到現有檔案

如果需要開啟檔案並將新內容追加到現有內容,請使用以下步驟

  • 步驟 1:使用 open() 函式以追加模式開啟檔案。您可以提供檔案路徑作為第一個引數,並使用模式“a”表示追加模式。

  • 步驟 2:然後,將返回的檔案物件分配給一個變數,以便進行進一步操作,例如將資料追加到檔案。

  • 步驟 3:使用 write() 方法將新內容追加到檔案。

  • 步驟 4:最後,您可以關閉檔案以確保正確處理系統資源。

示例

假設我們有一個如下所示的文字檔案

#myfile.txt
This is a test file

# Open the file in append mode
file = open('myfile.txt', 'a')

# Append new content to the file
file.write("This is some additional text.\n")

# Lastly, you can close the file
file.close()

當我們執行上述程式碼,然後開啟 myfile.txt 時,我們會發現其內容已被追加,並顯示以下輸出。

輸出

This is a test file
This is some additional text.

在 Python 的檔案處理中,開啟檔案以進行寫入的操作允許您建立新檔案或用新資料覆蓋現有內容。在本文中,我們探討並討論了一些示例,這些示例教會我們如何以寫入模式開啟檔案以進行文字和二進位制寫入,以及如何使用上下文管理器進行檔案寫入。我們還提供了兩個額外的示例,分別展示瞭如何將多行寫入檔案以及如何將內容追加到現有檔案。透過遵循詳細的說明和程式碼示例,您現在應該已經對 Python 中的檔案寫入有了充分的瞭解。最好記住,在寫入完成後關閉檔案,以確保正確處理系統資源。

更新於: 2023年7月13日

1K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告