Python中搜索和替换文件中的文本的实现(四种)
作者:海拥✘ 发布时间:2022-04-23 01:03:39
在本文中,我将给大家演示如何在 python 中使用四种方法替换文件中的文本。
方法一:不使用任何外部模块搜索和替换文本
让我们看看如何在文本文件中搜索和替换文本。首先,我们创建一个文本文件,我们要在其中搜索和替换文本。将此文件设为 Haiyong.txt,内容如下:
要替换文件中的文本,我们将使用 open() 函数以只读方式打开文件。然后我们将 t=read 并使用 read() 和 replace() 函数替换文本文件中的内容。
语法: open(file, mode=‘r')
参数:
file:文件的位置
mode : 要打开文件的模式
然后我们会以写模式打开同一个文件,写入替换的内容。
# 创建一个变量并存储我们要搜索的文本
search_text = "资源"
# 创建一个变量并存储我们要添加的文本
replace_text = "进群"
# 使用 open() 函数以只读模式打开我们的文本文件
with open(r'Haiyong.txt', 'r',encoding='UTF-8') as file:
# 使用 read() 函数读取文件内容并将它们存储在一个新变量中
data = file.read()
# 使用 replace() 函数搜索和替换文本
data = data.replace(search_text, replace_text)
# 以只写模式打开我们的文本文件以写入替换的内容
with open(r'Haiyong.txt', 'w',encoding='UTF-8') as file:
# 在我们的文本文件中写入替换的数据
file.write(data)
# 打印文本已替换
print("文本已替换")
输出:
文本已替换
方法二:使用 pathlib2 模块搜索和替换文本
让我们看看如何使用 pathlib2 模块搜索和替换文本。首先,我们创建一个文本文件,我们要在其中搜索和替换文本。将此文件设为 Haiyong2.txt,内容如下:
使用以下命令安装 pathlib2 模块:
pip install pathlib2
该模块提供表示文件系统路径的类,其语义适用于不同的操作系统。要使用 pathlib2 模块替换文本,我们将使用 pathlib2 模块的 Path 方法。
语法:路径(文件)
参数:
file:要打开的文件的位置
在下面的代码中,我们将文本文件中的“获取更多学习资料”替换为“找群主领取一本实体书”。使用 pathlib2 模块。
代码:
# 从 pathlib2 模块导入路径
from pathlib2 import Path
# 创建一个函数来替换文本
def replacetext(search_text, replace_text):
# 使用Path函数打开文件
file = Path(r"Haiyong2.txt")
# 读取文件内容并将其存储在数据变量中
data = file.read_text()
# 使用替换功能替换文本
data = data.replace(search_text, replace_text)
# 在文本文件中写入替换的数据
file.write_text(data)
# 返回“文本已替换”字符串
return "文本已替换"
# 创建一个变量并存储我们要搜索的文本
search_text = "Python"
# 创建一个变量并存储我们要更新的文本
replace_text = "Java"
# 调用replacetext函数并打印返回的语句
print(replacetext(search_text, replace_text))
输出:
文本已替换
方法 3:使用正则表达式模块搜索和替换文本
让我们看看如何使用 regex 模块搜索和替换文本。我们将使用 re.sub() 方法来替换文本。
语法: re.sub(pattern, repl, string, count=0, flags=0)
参数:
repl :要添加的文本
string :要替换的文本
代码:
# 导入 re 模块
import re
# 创建一个函数来替换文本
def replacetext(search_text,replace_text):
# 以读写模式打开文件
with open('SampleFile.txt','r+') as f:
# 读取文件数据并将其存储在文件变量中
file = f.read()
# 用文件数据中的字符串替换模式
file = re.sub(search_text, replace_text, file)
# 设置位置到页面顶部插入数据
f.seek(0)
# 在文件中写入替换数据
f.write(file)
# 截断文件大小
f.truncate()
# 返回“文本已替换”字符串
return "文本已替换"
# 创建一个变量并存储我们要搜索的文本
search_text = "World"
#创建一个变量并存储我们要更新的文本
replace_text = "Universe"
# 调用replacetext函数并打印返回的语句
print(replacetext(search_text,replace_text))
输出:
文本已替换
方法四:使用文件输入
让我们看看如何使用 fileinput 模块搜索和替换文本。为此,我们将使用 FileInput() 方法迭代文件的数据并替换文本。
语法: FileInput(files=None, inplace=False, backup=”, *, mode=‘r')
参数:
files : 文本文件的位置
mode : 要打开文件的模式
inplace :如果值为 True 则文件被移动到备份文件并且标准输出被定向到输入文件
backup : 备份文件的扩展名
代码:
# 从文件输入模块导入文件输入
from fileinput import FileInput
# 创建一个函数来替换文本
def replacetext(search_text, replace_text):
# 使用 FileInput 打开文件
with FileInput("Haiyong4.txt", inplace=True,
backup='.bak') as f:
# 使用replace函数迭代每个并使用replace_text更改search_text
for line in f:
print(line.replace(search_text,
replace_text), end='')
# 返回“文本已替换”字符串
return "文本已替换"
# 创建一个变量并存储我们要搜索的文本
search_text = "unreplaced"
# 创建一个变量并存储我们要更新的文本
replace_text = "replaced"
# 调用replacetext函数并打印返回的语句
print(replacetext(search_text, replace_text))
输出:
文本已替换
来源:https://blog.csdn.net/qq_44273429/article/details/120820214


猜你喜欢
- 方法1:使用dataframe.loc[]函数通过这个方法,我们可以用一个条件或一个布尔数组来访问一组行或列。如果我们可以访问它,我们也可以
- django模板使用media文件夹,想要在前端通过{{ MEDIA_URL }}无法显示图片,没有取到Media_url的值解决办法:TE
- 本文实例为大家分享了python利用tkinter实现屏保的具体代码,供大家参考,具体内容如下import randomimport tki
- SQL Server 2005相对于SQL Server 2000做了很大的改进,许些新特性是非常实用的。本文中将通过几个具体示例进行详细的
- 本文主要给大家介绍了关于Python中字典(dict)合并的四种方法,分享出来供大家参考学习,话不多说了,来一起看看详细的介绍:字典是Pyt
- 1、创建表的同时创建主键约束(1)无命名create table student ( studentid int primary key n
- 1、注册一个新浪应用,得到appkey和secret,以及token,将这些信息写入配置文件sina_weibo_config.ini,内容
- myisam_max_[extra]_sort_file_size足够大 delay_key_write减少io,提高写入性能 bulk_i
- 空间关系变化始于相遇,所以交点是一切的核心。相交判定首先考察一束光线能否打在某个平面镜上。光线被抽象成了一个列表[a,b,c],平面镜则被抽
- A.动态页面第一步:创建转向控制页面,创建网站默认的首页文件(通常为"index.asp"或"default.
- 导语九月初家里的熊孩子终于开始上学了!半个月过去了,小孩子每周都会带着一堆的数学作业回来,哈哈哈哈~真好,在家做作业就没时间打扰我写代码了。
- 注意主窗口一定要为tk.Tk(),在主窗口上通过button的点击相应子函数创建子窗口,注意此时创建出来的窗口必须是Toplevel,否则出
- Dim iSet conn=Server.CreateObject("ADODB.Connecti
- 创建与打开站点启动FrontPage XP,选择菜单“文件/新建”,再单击“网页或站点”命令选项。在“新建网页或站点”任务窗格
- 示例下面是一个简单的Python爬虫Scrapy框架代码示例,该代码可以抓取百度搜索结果页面中指定关键字的链接和标题等信息:import s
- logging是python语言中的一个日志模块,专门用来写日志的,日志级别通常分为debug、info、warning、error、cri
- 这个分页使用的是0游标,也就是Rs.Open Sql,Conn,0,1。但是感觉也快不了多少,10万条数据的分页时间300多豪秒之间。代码如
- 一、概述现有一个用户表,需要将表数据写入到excel中。环境说明mysql版本:5.7端口:3306数据库:test表名:users表结构如
- 业务背景业务需求要求开发一个异步上传文件的接口,并支持上传进度的查询。需求分析ZIP压缩包中,包含一个csv文件和一个图片文件夹,要求:解析
- 1、登录接口登录后返回对应token封装:import jsonimport requestsfrom util.operation_jso