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

 更新时间:2021年10月20日 15:28:41   作者:海拥✘  
本文主要介绍了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 搜索和替换文本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python实现单链表的方法示例

    python实现单链表的方法示例

    这篇文章主要给大家介绍了关于python实现单链表的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • Python编写屏幕网格生成工具

    Python编写屏幕网格生成工具

    这篇文章主要为大家详细介绍了如何通过Python编写屏幕网格生成工具,可以定期绘制一个透明的网格,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-12-12
  • Python Tkinter Canvas画布控件详解

    Python Tkinter Canvas画布控件详解

    Canvas 控件具有两个功能,首先它可以用来绘制各种图形,比如弧形、线条、椭圆形、多边形和矩形等,其次 Canvas 控件还可以用来展示图片。本文将具体介绍一直Tkinter中的画布控件,需要的可以参考一下
    2022-01-01
  • Python读取实时数据流示例

    Python读取实时数据流示例

    今天小编就为大家分享一篇Python读取实时数据流示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python实现双人五子棋对局

    Python实现双人五子棋对局

    这篇文章主要为大家详细介绍了Python实现双人五子棋对局,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Python中scatter散点图及颜色整理大全

    Python中scatter散点图及颜色整理大全

    python自带的scatter函数参数中颜色和大小可以输入列表进行控制,即可以让不同的点有不同的颜色和大小,下面这篇文章主要给大家介绍了关于Python中scatter散点图及颜色整理大全的相关资料,需要的朋友可以参考下
    2023-05-05
  • Python2.x版本中cmp()方法的使用教程

    Python2.x版本中cmp()方法的使用教程

    这篇文章主要介绍了Python2.x版本中cmp()方法的使用教程,在Python3.x版本中该方法不再被内置,需要的朋友可以参考下
    2015-05-05
  • Python 网络爬虫--关于简单的模拟登录实例讲解

    Python 网络爬虫--关于简单的模拟登录实例讲解

    今天小编就为大家分享一篇Python 网络爬虫--关于简单的模拟登录实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Django打印出在数据库中执行的语句问题

    Django打印出在数据库中执行的语句问题

    这篇文章主要介绍了Django打印出在数据库中执行的语句,文中给大家提到了Django 查看执行的sql语句方法,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • 详细介绍Python函数中的默认参数

    详细介绍Python函数中的默认参数

    这篇文章主要介绍了详细介绍Python函数中的默认参数,包括默认参数的传递和求值等内容,需要的朋友可以参考下
    2015-03-03

最新评论