HOWTO · Python

如何使用 Python 逐行寫入文件

學習如何使用 Python 一行一行地寫入文件

本頁內容

使用 Python 可以完成的眾多任務之一是逐行寫入文件。本文將引導您了解實現此任務的主要方法,並提供清晰、有註解的 Python 代碼示例和詳細解釋。

在我們開始了解如何實現之前,讓我們先理解什麼和為什麼。在 Python 中逐行寫入文件的任務聽起來可能很複雜,但實際上,這非常簡單,這要歸功於 Python 的內建函數。當您想要儲存 Python 程式的輸出以供日後使用或分析時,或者當您處理需要逐行處理以節省記憶體的大型數據集時,這項任務是至關重要的。

方法 1:使用 write()

在 Python 中逐行寫入文件的第一個和最簡單的方法是使用 write() 函數。這個函數允許您將一行添加到文件中。

# First, open the file in write mode
file = open('example.txt', 'w')

# Then, write a line to the file
file.write('This is an example line.\n')

# Always remember to close the file when you're done
file.close()

在這個示例中,字串末尾的 \n 創建了一個新行,因此下次您使用 write() 時,新文字將會寫在新行上。完成寫入後,記得使用 file.close() 關閉文件至關重要。這可以確保您所做的更改被保存且釋放資源。

方法 2:使用 writelines()

在 Python 中逐行寫入文件的另一種方法是使用 writelines() 函數。當您有一個要寫入文件的行列表時,這個函數特別有用。

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

# Create a list of lines to write to the file
lines = ['First line.\n', 'Second line.\n', 'Third line.\n']

# Write the lines to the file
file.writelines(lines)

# Close the file
file.close()

在這個示例中,列表 lines 中的每個字串表示文件中的一行。writelines() 函數逐行將每個字串寫入文件中。

方法 3:使用 with open

Python 中的 with open 語句是一種簡化逐行寫入文件過程的良好方式。它會在您完成操作後自動關閉文件,因此您不需要記得調用 file.close()。

# Open the file in write mode
with open('example.txt', 'w') as file:
    # Write a line to the file
    file.write('This is an example line.\n')

在這個示例中,with open 語句打開文件,隨後的縮排代碼行寫入文件。執行完這些代碼行後,文件會自動關閉。

總結

在 Python 中逐行寫入文件是一個簡單的任務,由 Python 的內建函數簡化了。不論您選擇使用 write()、writelines() 還是 with open 語句,您都有必要的工具來儲存您的程式輸出或一次處理大型數據集中的一行。

常見問題

  1. open() 函數中的 ‘w’ 代表什麼?
    ‘w’ 代表 ‘write’。它以寫入模式打開文件,允許您將文字添加到文件中。

  2. 如果我忘了關閉文件會發生什麼?
    如果文件沒有關閉,變更可能不會被保存,並且資源也不會被釋放。這可能導致記憶體問題,尤其是在處理大型文件時。

  3. 我可以使用 write() 函數一次寫入多行嗎?
    是的,您可以通過在字串中包含 ‘\n’ 來一次寫入多行。不過,對於行的列表,writelines() 函數更為合適。