HOWTO · Python

使用 Python 替換檔案中的字串

本教程演示如何在 Python 中替換檔案中的字串

本頁內容

檔案處理是任何 Web 應用程式的重要方面。Python 與其他程式語言類似,支援檔案處理。它允許程式設計師處理檔案並基本上執行一些基本操作,如讀取、寫入和其他一些檔案處理選項來對檔案進行操作。

open() 函式可用於在 Python 程式中開啟檔案。該檔案可以以文字或二進位制模式開啟,這由使用者決定。open() 函式有多種模式,所有這些模式都為要開啟的檔案提供了不同的可訪問性選項。

Python 中的術語 String 可以描述為用單引號或雙引號括起來的一組 Unicode 字元。字串可以包含在要在 Python 程式碼中開啟的文字檔案中。

本教程將討論在 Python 中替換檔案中字串的不同方法。

當輸入和輸出檔案不同時使用 replace() 函式

Python 中的 replace() 方法用於搜尋子字串並將其替換為另一個子字串。

replace() 函式具有三個引數,即 oldvalue、newvalue 和 count。oldvalue 和 newvalue 都是必需的值,為函式提供 count 引數是可選的。

當輸入和輸出檔案不同時,以下程式碼使用 replace() 函式替換 Python 中的字串。

# the input file
fin = open("f1.txt", "rt")
# the output file which stores result
fout = open("f2.txt", "wt")
# iteration for each line in the input file
for line in fin:
    # replacing the string and write to output file
    fout.write(line.replace("gode", "God"))
# closing the input and output files
fin.close()
fout.close()

在上述程式碼的輸出中,檔案中的字串 gode 將被替換為單詞 God。

在上面的程式碼中,我們同時處理兩個不同的檔案,f1.txt 和 f2.txt。f1.txt 在閱讀文字 rt 模式下開啟並引用到 fin。f2.txt 在寫入文字 wt 模式下開啟,並被引用到 fout。然後迭代 for 迴圈,並且對於字串 gode 在檔案中的每次出現,它都會被單詞 God 替換。然後在 close() 函式的幫助下,在必要的操作後關閉這兩個檔案。

當只有一個檔案用於輸入和輸出時使用 replace() 函式

在此方法中,相同的檔案用作輸入和輸出。

我們在這裡使用 with 語句和 replace() 函式。with 上下文管理器有一個基本功能:使程式更短,更具可讀性。

當我們在檔案處理中使用 with 語句時,我們在 Python 程式碼中開啟的檔案不需要手動關閉;它會在 with 塊終止後自動關閉。

當輸入和輸出檔案相同時,以下程式碼使用 replace() 函式替換 Python 中的字串。

with open("file1.txt", "rt") as file:
    x = file.read()

with open("file1.txt", "wt") as file:
    x = x.replace("gode", "God")
    fin.write(x)

以下程式碼將 file1 作為輸入和輸出檔案。首先,以讀取文字 rt 模式開啟檔案,讀取檔案內容並將其儲存在變數中。然後,檔案被關閉並再次開啟,但這次是寫文字模式 wt。字串被替換,並以這種方式寫入資料,然後關閉檔案。