Python 替换内容的几种方法

本文介绍如何使用Python进行批量文本替换,包括基本的字符串替换和使用正则表达式进行复杂模式匹配与替换的方法。通过实例演示了如何在多个文本文件中将特定词汇替换成新的词汇,以及如何移除以指定词汇结尾的句子。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接替换,使用replace()

比如要将文章里的内容,山替换为海:
在这里插入图片描述在这里插入图片描述程序运行后的效果:
在这里插入图片描述
程序附上:

import os                                         #导入模块
def replace_row():                                           #定义函数名称
    for foldName, subfolders, filenames in os.walk(path):     #用os.walk方法取得path路径下的文件夹路径,子文件夹名,所有文件名
           for filename in filenames:                         #遍历列表下的所有文件名
                if filename.endswith('.txt'):                #当文件名以.txt后缀结尾时
                    f = open(os.path.join(foldName,filename),"r")    #以只读模式打开文件
                    data=f.read()                                      #令data为读取的文章内容
                    data_a = data.replace("山","海")                    #将data里的山替换为海
                    with  open(os.path.join(foldName,filename), 'w') as f:          #以写模式打开文件
                        f.write(data_a)                                             # 重新写入修改后的文件内容
                        print( os.path.join(foldName,filename),'added content successfully!')   #输出提示

if __name__ == '__main__': 
        path = r'E:\我的学习\编程\Python\PythonTest2\Test2'   #运行程序前,记得修改主文件夹路径!
        replace_row()        #调用定义的函数,注意名称与定义的函数名一致

灵活替换,加入正则,使用re.sub

比如,我要将文章里以海结尾的一句话去掉,但是这句话并没有固定是一样的内容。
在这里插入图片描述在这里插入图片描述

运行后:
在这里插入图片描述

程序附上:

#!/usr/bin/python
#coding:utf-8
import os,re                                         #导入模块
def replace_row():                                           #定义函数名称
    for foldName, subfolders, filenames in os.walk(path):     #用os.walk方法取得path路径下的文件夹路径,子文件夹名,所有文件名
           for filename in filenames:                         #遍历列表下的所有文件名
                if filename.endswith('.txt'):                #当文件名以.txt后缀结尾时
                    f = open(os.path.join(foldName,filename),"r")    #以只读模式打开文件
                    data=f.read()                                      #令data为读取的文章内容
                    data_a =re.sub('[\u4e00-\u9fa5]*海,','',data)                    #将data里以海结尾的一句话去掉
                    with  open(os.path.join(foldName,filename), 'w') as f:          #以写模式打开文件
                        f.write(data_a)                                             # 重新写入修改后的文件内容
                        print( os.path.join(foldName,filename),'added content successfully!')   #输出提示

if __name__ == '__main__': 
        path = r'E:\我的学习\编程\Python\PythonTest2\Test2'   #运行程序前,记得修改主文件夹路径!
        replace_row()        #调用定义的函数,注意名称与定义的函数名一致
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值