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

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



输出:文本已替换


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


方法四:使用文件输入


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



输出:

文本已替换

上一篇:最好的iTunes管理工具beaTunes5注册版


下一篇:Go 有别于其他语言的九个特性