如何在 Python 中搜索和替换文件中的文本?(2)

简介: 如何在 Python 中搜索和替换文件中的文本?

方法 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))


输出:文本已替换


image.png


方法四:使用文件输入


让我们看看如何使用 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))



输出:

文本已替换

目录
相关文章
|
20天前
|
Python
【python】python跨文件使用全局变量
【python】python跨文件使用全局变量
|
3天前
|
机器学习/深度学习 自然语言处理 API
《Python 语音转换简易速速上手小册》第4章 语音到文本的转换(2024 最新版)(上)
《Python 语音转换简易速速上手小册》第4章 语音到文本的转换(2024 最新版)
17 0
|
3天前
|
机器学习/深度学习 数据采集 自然语言处理
《Python 语音转换简易速速上手小册》第3章 文本到语音的转换(2024 最新版)(上)
《Python 语音转换简易速速上手小册》第3章 文本到语音的转换(2024 最新版)
19 0
|
4天前
|
存储 Python
用Python实现批量下载文件——代理ip排除万难
用Python实现批量下载文件——代理ip排除万难
|
4天前
|
JSON 关系型数据库 数据库
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
30 0
|
4天前
|
数据挖掘 索引 Python
Python 读写 Excel 文件
Python 读写 Excel 文件
11 0
|
5天前
|
数据安全/隐私保护 Python
Python文件与目录操作:面试中的高频考点
【4月更文挑战第15天】本文介绍了Python文件和目录操作的面试重点,包括文件的读写、目录遍历及权限管理。强调了文件关闭、异常处理、特殊文件判断以及权限位和权限字符串的理解。提供了代码示例,如读写文件、遍历目录和更改文件权限,帮助读者在面试中表现出色。掌握这些技能将对编程求职之路大有裨益。
17 0
|
5天前
|
机器学习/深度学习 存储 算法
PYTHON集成机器学习:用ADABOOST、决策树、逻辑回归集成模型分类和回归和网格搜索超参数优化
PYTHON集成机器学习:用ADABOOST、决策树、逻辑回归集成模型分类和回归和网格搜索超参数优化
26 7
|
5天前
|
机器学习/深度学习
模型选择与调优:scikit-learn中的交叉验证与网格搜索
【4月更文挑战第17天】在机器学习中,模型选择和调优至关重要,scikit-learn提供了交叉验证和网格搜索工具。交叉验证(如k折、留一法和分层k折)用于评估模型性能和参数调优。网格搜索(如GridSearchCV和RandomizedSearchCV)遍历或随机选择参数组合以找到最优设置。通过实例展示了如何使用GridSearchCV对随机森林模型进行调优,强调了理解问题和数据的重要性。
|
6天前
|
机器学习/深度学习 自然语言处理 算法框架/工具
用于NLP的Python:使用Keras进行深度学习文本生成
用于NLP的Python:使用Keras进行深度学习文本生成
16 2