使用 Python 替換檔案中的字串

Vaibhhav Khetarpal 2023年1月30日 2021年7月12日
  1. 當輸入和輸出檔案不同時使用 replace() 函式
  2. 當只有一個檔案用於輸入和輸出時使用 replace() 函式
使用 Python 替換檔案中的字串

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

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

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

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

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

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

replace() 函式具有三個引數,即 oldvaluenewvaluecountoldvaluenewvalue 都是必需的值,為函式提供 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.txtf2.txtf1.txt 在閱讀文字 rt 模式下開啟並引用到 finf2.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。字串被替換,並以這種方式寫入資料,然後關閉檔案。

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

相關文章 - Python File

相關文章 - Python String