我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python中搜索和替换文件中的文本的实现(四种)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python中搜索和替换文件中的文本的实现(四种)

在本文中,我将给大家演示如何在 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))

输出:

文本已替换

到此这篇关于Python中搜索和替换文件中的文本的实现(四种)的文章就介绍到这了,更多相关Python 搜索和替换文本内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python中搜索和替换文件中的文本的实现(四种)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python中的文本替换

文本替换是字符串的基本操作,Python的str提供了replace方法:src = '那个人看起来好像一条狗,哈哈'print(src.replace(',哈哈', '.'))上面代码最后的输出结果是:那个人看起来好像一条狗.对于习惯了J
2023-01-31

Python下实现文件中的全文搜索小测试

username = 'test'password = '123456'while True:user_str = raw_input("Please input your name>>")pass_str = raw_input("Ple
2023-01-31

python实现搜索本地文件信息写入文件的方法

本文实例讲述了python实现搜索本地文件信息写入文件的方法。分享给大家供大家参考,具体如下: 主要功能: 在指定的盘符,如D盘,搜索出与用户给定后缀名(如:jpg,png)相关的文件,然后把搜索出来的信息(相关文件的绝对路径),存放到用户
2022-06-04

怎么进行Python字符串中的搜索和替换

怎么进行Python字符串中的搜索和替换,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python字符串类型转换函数,这几个函数只在string模块中有:string.atoi
2023-06-17

shell替换文件中的文件路径脚本分享

用法参数1、写有需要替换路径记录的文本,格式:老路径 老名称 新路径 新名称参数2、需要替换的文件的目录参数3、需要替换的文件的类型#!/bin/sh function _replace(){basepath=$0> $basepath.l
2022-06-04

怎么用vbscript实现在文本文件中搜索两个项

这篇文章主要介绍了怎么用vbscript实现在文本文件中搜索两个项,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。代码如下:Const ForReading = 1 blnF
2023-06-08

如何编写shell替换文件中的文件路径脚本

本篇内容介绍了“如何编写shell替换文件中的文件路径脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!用法参数1、写有需要替换路径记录的文
2023-06-09

Java如何实现替换Word中文本和图片功能

这篇文章主要讲解了“Java如何实现替换Word中文本和图片功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java如何实现替换Word中文本和图片功能”吧!前言Word中的替换功能以查找
2023-06-30

Sphinx与Xunsearch在中文搜索中的表现对比(Sphinx和Xunsearch如何处理中文搜索?)

Sphinx和Xunsearch是中文搜索引擎,各有优劣。Sphinx分词准确,模糊查询强,但同义词弱。Xunsearch词库分词,同义词强,拼音查询好。相关性上,Sphinx用TF-IDF,Xunsearch改进TF-IDF,同义词权重高。性能上,Sphinx高性能可扩展,Xunsearch性能好,可扩展性稍弱。Sphinx扩展模块丰富,Xunsearch中文语言处理功能强。适用场景,Sphinx适合高性能精确分词场景,如电商搜索。Xunsearch适合同义词处理、拼音搜索、语言处理场景,如新闻搜索。
Sphinx与Xunsearch在中文搜索中的表现对比(Sphinx和Xunsearch如何处理中文搜索?)
2024-04-02

linux如何在多个文件中替换掉相同的文本

这篇文章主要介绍了linux如何在多个文件中替换掉相同的文本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在多个文件中替换掉相同的文本应用程序:find(译注:Linux下的
2023-06-27

Python实现提取或替换PPT中文本与图片的示例代码

这篇文章主要为大家详细介绍了Python如何实现提取保存ppt中的图片和替换ppt模板的文本,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
2023-01-29

Sphinx PHP 实现全文搜索的中文分词与检索优化

引言:随着互联网的发展和信息爆炸的时代,全文搜索引擎成为了人们进行信息检索的重要工具。传统的全文搜索引擎主要针对英文等西方语言进行优化,而对于中文这种特殊的语言来说,传统的全文搜索引擎存在一些问题。本文将介绍如何利用Sphinx PHP实现
2023-10-21

Android中搜索图标和文字居中的EditText实例

效果图:需要自定义view,具体实现如下:import android.widget.EditText;import android.content.Context;import android.content.res.TypedArray
2023-05-31

Python使用正则表达式实现文本替换的方法

本文实例讲述了Python使用正则表达式实现文本替换的方法。分享给大家供大家参考,具体如下: 2D客户端编程从某种意义上来讲就是素材组织,所以,图片素材组织经常需要批量处理,python一定是最佳选择,不管是win/linux/mac都有一
2022-06-04

怎么在Linux中删除和替换文件中的某一行

本篇文章给大家分享的是有关怎么在Linux中删除和替换文件中的某一行,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 如果有一个abc.txt文件,内容是:aaabbbBATB
2023-06-09

Android中如何实现清空搜索框的文字

需求:项目中的有关搜索的地方,加上清空文字的功能,目的是为了增加用户体验,使用户删除文本更加快捷 解决过程:开始的时候感觉这个东西不太好实现,主要就是布局的问题,可能是开始顾虑的太多了,再加上当时产品催的不太紧,而且这个功能也不是必须实现的
2022-06-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录