人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

Python中搜索和替換文件中的文本的實(shí)現(xiàn)(四種)

發(fā)布日期:2021-12-22 08:14 | 文章來(lái)源:源碼之家

在本文中,我將給大家演示如何在 python 中使用四種方法替換文件中的文本。

方法一:不使用任何外部模塊搜索和替換文本

讓我們看看如何在文本文件中搜索和替換文本。首先,我們創(chuàng)建一個(gè)文本文件,我們要在其中搜索和替換文本。將此文件設(shè)為 Haiyong.txt,內(nèi)容如下:

要替換文件中的文本,我們將使用 open() 函數(shù)以只讀方式打開(kāi)文件。然后我們將 t=read 并使用 read() 和 replace() 函數(shù)替換文本文件中的內(nèi)容。

語(yǔ)法: open(file, mode=‘r')

參數(shù):

file:文件的位置
mode : 要打開(kāi)文件的模式

然后我們會(huì)以寫(xiě)模式打開(kāi)同一個(gè)文件,寫(xiě)入替換的內(nèi)容。

# 創(chuàng)建一個(gè)變量并存儲(chǔ)我們要搜索的文本
search_text = "資源"
# 創(chuàng)建一個(gè)變量并存儲(chǔ)我們要添加的文本
replace_text = "進(jìn)群"
# 使用 open() 函數(shù)以只讀模式打開(kāi)我們的文本文件
with open(r'Haiyong.txt', 'r',encoding='UTF-8') as file:
	# 使用 read() 函數(shù)讀取文件內(nèi)容并將它們存儲(chǔ)在一個(gè)新變量中
	data = file.read()
	# 使用 replace() 函數(shù)搜索和替換文本
	data = data.replace(search_text, replace_text)
# 以只寫(xiě)模式打開(kāi)我們的文本文件以寫(xiě)入替換的內(nèi)容
with open(r'Haiyong.txt', 'w',encoding='UTF-8') as file:
	# 在我們的文本文件中寫(xiě)入替換的數(shù)據(jù)
	file.write(data)
# 打印文本已替換
print("文本已替換")

輸出:

文本已替換

方法二:使用 pathlib2 模塊搜索和替換文本

讓我們看看如何使用 pathlib2 模塊搜索和替換文本。首先,我們創(chuàng)建一個(gè)文本文件,我們要在其中搜索和替換文本。將此文件設(shè)為 Haiyong2.txt,內(nèi)容如下:

使用以下命令安裝 pathlib2 模塊:

pip install pathlib2


該模塊提供表示文件系統(tǒng)路徑的類,其語(yǔ)義適用于不同的操作系統(tǒng)。要使用 pathlib2 模塊替換文本,我們將使用 pathlib2 模塊的 Path 方法。

語(yǔ)法:路徑(文件)

參數(shù):

file:要打開(kāi)的文件的位置

在下面的代碼中,我們將文本文件中的“獲取更多學(xué)習(xí)資料”替換為“找群主領(lǐng)取一本實(shí)體書(shū)”。使用 pathlib2 模塊。

代碼:

# 從 pathlib2 模塊導(dǎo)入路徑
from pathlib2 import Path
# 創(chuàng)建一個(gè)函數(shù)來(lái)替換文本
def replacetext(search_text, replace_text):
	# 使用Path函數(shù)打開(kāi)文件
	file = Path(r"Haiyong2.txt")
	# 讀取文件內(nèi)容并將其存儲(chǔ)在數(shù)據(jù)變量中
	data = file.read_text()
	# 使用替換功能替換文本
	data = data.replace(search_text, replace_text)
	# 在文本文件中寫(xiě)入替換的數(shù)據(jù)
	file.write_text(data)
	# 返回“文本已替換”字符串
	return "文本已替換"

# 創(chuàng)建一個(gè)變量并存儲(chǔ)我們要搜索的文本
search_text = "Python"
# 創(chuàng)建一個(gè)變量并存儲(chǔ)我們要更新的文本
replace_text = "Java"
# 調(diào)用replacetext函數(shù)并打印返回的語(yǔ)句
print(replacetext(search_text, replace_text))

輸出:

文本已替換

方法 3:使用正則表達(dá)式模塊搜索和替換文本

讓我們看看如何使用 regex 模塊搜索和替換文本。我們將使用 re.sub() 方法來(lái)替換文本。

語(yǔ)法: re.sub(pattern, repl, string, count=0, flags=0)

參數(shù):

repl :要添加的文本
string :要替換的文本

代碼:

# 導(dǎo)入 re 模塊
import re
# 創(chuàng)建一個(gè)函數(shù)來(lái)替換文本
def replacetext(search_text,replace_text):
	# 以讀寫(xiě)模式打開(kāi)文件
	with open('SampleFile.txt','r+') as f:
		# 讀取文件數(shù)據(jù)并將其存儲(chǔ)在文件變量中
		file = f.read()
		
		# 用文件數(shù)據(jù)中的字符串替換模式
		file = re.sub(search_text, replace_text, file)
		# 設(shè)置位置到頁(yè)面頂部插入數(shù)據(jù)
		f.seek(0)
		
		# 在文件中寫(xiě)入替換數(shù)據(jù)
		f.write(file)
		# 截?cái)辔募笮?		f.truncate()
	# 返回“文本已替換”字符串
	return "文本已替換"
# 創(chuàng)建一個(gè)變量并存儲(chǔ)我們要搜索的文本
search_text = "World"
#創(chuàng)建一個(gè)變量并存儲(chǔ)我們要更新的文本
replace_text = "Universe"
# 調(diào)用replacetext函數(shù)并打印返回的語(yǔ)句
print(replacetext(search_text,replace_text))

輸出:

文本已替換

方法四:使用文件輸入

讓我們看看如何使用 fileinput 模塊搜索和替換文本。為此,我們將使用 FileInput() 方法迭代文件的數(shù)據(jù)并替換文本。

語(yǔ)法: FileInput(files=None, inplace=False, backup=”, *, mode=‘r')

參數(shù):

  • files : 文本文件的位置
  • mode : 要打開(kāi)文件的模式
  • inplace :如果值為 True 則文件被移動(dòng)到備份文件并且標(biāo)準(zhǔn)輸出被定向到輸入文件
  • backup : 備份文件的擴(kuò)展名

代碼:

# 從文件輸入模塊導(dǎo)入文件輸入
from fileinput import FileInput
# 創(chuàng)建一個(gè)函數(shù)來(lái)替換文本
def replacetext(search_text, replace_text):
	# 使用 FileInput 打開(kāi)文件
	with FileInput("Haiyong4.txt", inplace=True,
				backup='.bak') as f:
		# 使用replace函數(shù)迭代每個(gè)并使用replace_text更改search_text
		for line in f:
			print(line.replace(search_text,
	replace_text), end='')
	# 返回“文本已替換”字符串
	return "文本已替換"

# 創(chuàng)建一個(gè)變量并存儲(chǔ)我們要搜索的文本
search_text = "unreplaced"
# 創(chuàng)建一個(gè)變量并存儲(chǔ)我們要更新的文本
replace_text = "replaced"
# 調(diào)用replacetext函數(shù)并打印返回的語(yǔ)句
print(replacetext(search_text, replace_text))

輸出:

文本已替換

到此這篇關(guān)于Python中搜索和替換文件中的文本的實(shí)現(xiàn)(四種)的文章就介紹到這了,更多相關(guān)Python 搜索和替換文本內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部