Python中搜索和替換文件中的文本的實現(xiàn)(四種)
在本文中,我將給大家演示如何在 python 中使用四種方法替換文件中的文本。
方法一:不使用任何外部模塊搜索和替換文本
讓我們看看如何在文本文件中搜索和替換文本。首先,我們創(chuàng)建一個文本文件,我們要在其中搜索和替換文本。將此文件設(shè)為 Haiyong.txt,內(nèi)容如下:
要替換文件中的文本,我們將使用 open() 函數(shù)以只讀方式打開文件。然后我們將 t=read 并使用 read() 和 replace() 函數(shù)替換文本文件中的內(nèi)容。
語法: open(file, mode=‘r')
參數(shù):
file:文件的位置
mode : 要打開文件的模式
然后我們會以寫模式打開同一個文件,寫入替換的內(nèi)容。
# 創(chuàng)建一個變量并存儲我們要搜索的文本 search_text = "資源" # 創(chuàng)建一個變量并存儲我們要添加的文本 replace_text = "進群" # 使用 open() 函數(shù)以只讀模式打開我們的文本文件 with open(r'Haiyong.txt', 'r',encoding='UTF-8') as file: # 使用 read() 函數(shù)讀取文件內(nèi)容并將它們存儲在一個新變量中 data = file.read() # 使用 replace() 函數(shù)搜索和替換文本 data = data.replace(search_text, replace_text) # 以只寫模式打開我們的文本文件以寫入替換的內(nèi)容 with open(r'Haiyong.txt', 'w',encoding='UTF-8') as file: # 在我們的文本文件中寫入替換的數(shù)據(jù) file.write(data) # 打印文本已替換 print("文本已替換")
輸出:
文本已替換
方法二:使用 pathlib2 模塊搜索和替換文本
讓我們看看如何使用 pathlib2 模塊搜索和替換文本。首先,我們創(chuàng)建一個文本文件,我們要在其中搜索和替換文本。將此文件設(shè)為 Haiyong2.txt,內(nèi)容如下:
使用以下命令安裝 pathlib2 模塊:
pip install pathlib2
該模塊提供表示文件系統(tǒng)路徑的類,其語義適用于不同的操作系統(tǒng)。要使用 pathlib2 模塊替換文本,我們將使用 pathlib2 模塊的 Path 方法。
語法:路徑(文件)
參數(shù):
file:要打開的文件的位置
在下面的代碼中,我們將文本文件中的“獲取更多學習資料”替換為“找群主領(lǐng)取一本實體書”。使用 pathlib2 模塊。
代碼:
# 從 pathlib2 模塊導入路徑 from pathlib2 import Path # 創(chuàng)建一個函數(shù)來替換文本 def replacetext(search_text, replace_text): # 使用Path函數(shù)打開文件 file = Path(r"Haiyong2.txt") # 讀取文件內(nèi)容并將其存儲在數(shù)據(jù)變量中 data = file.read_text() # 使用替換功能替換文本 data = data.replace(search_text, replace_text) # 在文本文件中寫入替換的數(shù)據(jù) file.write_text(data) # 返回“文本已替換”字符串 return "文本已替換" # 創(chuàng)建一個變量并存儲我們要搜索的文本 search_text = "Python" # 創(chuàng)建一個變量并存儲我們要更新的文本 replace_text = "Java" # 調(diào)用replacetext函數(shù)并打印返回的語句 print(replacetext(search_text, replace_text))
輸出:
文本已替換
方法 3:使用正則表達式模塊搜索和替換文本
讓我們看看如何使用 regex 模塊搜索和替換文本。我們將使用 re.sub() 方法來替換文本。
語法: re.sub(pattern, repl, string, count=0, flags=0)
參數(shù):
repl :要添加的文本
string :要替換的文本
代碼:
# 導入 re 模塊 import re # 創(chuàng)建一個函數(shù)來替換文本 def replacetext(search_text,replace_text): # 以讀寫模式打開文件 with open('SampleFile.txt','r+') as f: # 讀取文件數(shù)據(jù)并將其存儲在文件變量中 file = f.read() # 用文件數(shù)據(jù)中的字符串替換模式 file = re.sub(search_text, replace_text, file) # 設(shè)置位置到頁面頂部插入數(shù)據(jù) f.seek(0) # 在文件中寫入替換數(shù)據(jù) f.write(file) # 截斷文件大小 f.truncate() # 返回“文本已替換”字符串 return "文本已替換" # 創(chuàng)建一個變量并存儲我們要搜索的文本 search_text = "World" #創(chuàng)建一個變量并存儲我們要更新的文本 replace_text = "Universe" # 調(diào)用replacetext函數(shù)并打印返回的語句 print(replacetext(search_text,replace_text))
輸出:
文本已替換
方法四:使用文件輸入
讓我們看看如何使用 fileinput 模塊搜索和替換文本。為此,我們將使用 FileInput() 方法迭代文件的數(shù)據(jù)并替換文本。
語法: FileInput(files=None, inplace=False, backup=”, *, mode=‘r')
參數(shù):
- files : 文本文件的位置
- mode : 要打開文件的模式
- inplace :如果值為 True 則文件被移動到備份文件并且標準輸出被定向到輸入文件
- backup : 備份文件的擴展名
代碼:
# 從文件輸入模塊導入文件輸入 from fileinput import FileInput # 創(chuàng)建一個函數(shù)來替換文本 def replacetext(search_text, replace_text): # 使用 FileInput 打開文件 with FileInput("Haiyong4.txt", inplace=True, backup='.bak') as f: # 使用replace函數(shù)迭代每個并使用replace_text更改search_text for line in f: print(line.replace(search_text, replace_text), end='') # 返回“文本已替換”字符串 return "文本已替換" # 創(chuàng)建一個變量并存儲我們要搜索的文本 search_text = "unreplaced" # 創(chuàng)建一個變量并存儲我們要更新的文本 replace_text = "replaced" # 調(diào)用replacetext函數(shù)并打印返回的語句 print(replacetext(search_text, replace_text))
輸出:
文本已替換
到此這篇關(guān)于Python中搜索和替換文件中的文本的實現(xiàn)(四種)的文章就介紹到這了,更多相關(guān)Python 搜索和替換文本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python?dateutil庫簡化日期時間處理利器使用場景實踐
在Python中,處理日期和時間是常見的任務(wù)之一,dateutil庫是Python標準庫中datetime模塊的擴展,提供了許多方便的工具和函數(shù),簡化了日期和時間的操作2023-12-12用Python實現(xiàn)一個模仿UP主彈幕控制的直播間功能
up主通過代碼實現(xiàn)了實時讀取直播間里的彈幕內(nèi)容,進而控制自己的電腦,把彈幕翻譯成指令操控《賽博朋克2077》游戲,這篇文章主要介紹了用Python實現(xiàn)一個模仿UP主彈幕控制的直播間功能,需要的朋友可以參考下2021-12-12Python實現(xiàn)提取或替換PPT中文本與圖片的示例代碼
這篇文章主要為大家詳細介紹了Python如何實現(xiàn)提取保存ppt中的圖片和替換ppt模板的文本,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2023-01-01詳解Python中使用base64模塊來處理base64編碼的方法
8bit的bytecode經(jīng)常會被用base64編碼格式保存,Python中自帶base64模塊對base64提供支持,這里我們就來詳解Python中使用base64模塊來處理base64編碼的方法,需要的朋友可以參考下2016-07-07Python棧算法的實現(xiàn)與簡單應(yīng)用示例
這篇文章主要介紹了Python棧算法的實現(xiàn)與簡單應(yīng)用,簡單講述了棧的原理并結(jié)合實例形式給出了基于棧實現(xiàn)的進制轉(zhuǎn)換與括號匹配等相關(guān)使用技巧,需要的朋友可以參考下2017-11-11利用python實現(xiàn)周期財務(wù)統(tǒng)計可視化
這篇文章主要給大家介紹了關(guān)于如何利用python實現(xiàn)周期財務(wù)統(tǒng)計可視化的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-08-08Python?xlwt工具使用詳解,生成excel欄位寬度可自適應(yīng)內(nèi)容長度
這篇文章主要介紹了Python?xlwt工具使用詳解,生成excel欄位寬度可自適應(yīng)內(nèi)容長度,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02