python基础_文件操作实现全文或单行替换的方法

发布时间 - 2026-01-11 03:06:09    点击率:

python修改文件时,使用w模式会将原本的文件清空/覆盖。可以先用读(r)的方式打开,写到内存中,然后再用写(w)的方式打开。

1、替换文本中的taste 为 tasting

Yesterday when I was young
昨日当我年少轻狂
The taste of life was sweet
生命的滋味是甜的
As rain upon my tongue
#将文件读取到内存中
with open("./fileread.txt","r",encoding="utf-8") as f:
 lines = f.readlines() 
#写的方式打开文件
with open("./fileread.txt","w",encoding="utf-8") as f_w:
 for line in lines:
  if "taste" in line:
   #替换
   line = line.replace("taste","tasting")
  f_w.write(line)

2、全文中搜索替换或者单行替换

#文本内容
Yesterday when I was young
昨日当我年少轻狂
The taste of life was sweet
生命的滋味是甜的
As rain upon my tongue
taste
taste
taste
taste
#定义一个函数,带有4个参数
#x 表示要更新的文件名称
#y 表示要被替换的内容
#z 表示 替换后的内容
#s 默认参数为 1 表示只替换第一个匹配到的字符串
# 如果参数为 s = 'g' 则表示全文替换
def string_switch(x,y,z,s=1):
 with open(x, "r", encoding="utf-8") as f:
  #readlines以列表的形式将文件读出
  lines = f.readlines()
 
 with open(x, "w", encoding="utf-8") as f_w:
  #定义一个数字,用来记录在读取文件时在列表中的位置
  n = 0
  #默认选项,只替换第一次匹配到的行中的字符串
  if s == 1:
   for line in lines:
    if y in line:
     line = line.replace(y,z)
     f_w.write(line)
     n += 1
     break
    f_w.write(line)
    n += 1
   #将剩余的文本内容继续输出
   for i in range(n,len(lines)):
    f_w.write(lines[i])
  #全局匹配替换
  elif s == 'g':
   for line in lines:
    if y in line:
     line = line.replace(y,z)
    f_w.write(line)

测试

1)默认参数 1,只替换匹配到的第一行

string_switch("fileread.txt","taste","tasting")
 
#结果
Yesterday when I was young
昨日当我年少轻狂
The tasting of life was sweet
生命的滋味是甜的
As rain upon my tongue
taste
taste
taste
taste

2)全局替换

string_switch("fileread.txt","taste","tasting","g")
 
#结果
Yesterday when I was young
昨日当我年少轻狂
The tasting of life was sweet
生命的滋味是甜的
As rain upon my tongue
tasting
tasting
tasting
tasting

以上这篇python基础_文件操作实现全文或单行替换的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# python  # 全文替换  # python cx_Oracle的基础使用方法(连接和增删改查)  # Python基础语言学习笔记总结(精华)  # python基础练习之几个简单的游戏  # 一张图带我们入门Python基础教程  # 零基础写python爬虫之爬虫编写全记录  # 零基础写python爬虫之神器正则表达式  # 零基础写python爬虫之HTTP异常处理  # 零基础写python爬虫之使用urllib2组件抓取网页内容  # Python Tkinter基础控件用法  # python基础梳理(一)(推荐)  # 当我  # 昨日  # 给大家  # 第一个  # 希望能  # 写到  # 这篇  # 再用  # 会将  # 先用  # 小编  # 大家多多  # 清空  # 一个函数  # 列表中  # xhtml  # class  # brush  # Yesterday  # life 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何为不同团队 ID 动态生成多个“认领值班”按钮  制作公司内部网站有哪些,内网如何建网站?  如何用免费手机建站系统零基础打造专业网站?  如何在腾讯云服务器上快速搭建个人网站?  打造顶配客厅影院,这份100寸电视推荐名单请查收  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  高端建站三要素:定制模板、企业官网与响应式设计优化  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  如何在IIS中配置站点IP、端口及主机头?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  个人摄影网站制作流程,摄影爱好者都去什么网站?  UC浏览器如何设置启动页 UC浏览器启动页设置方法  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  Python文件异常处理策略_健壮性说明【指导】  如何在云虚拟主机上快速搭建个人网站?  JavaScript常见的五种数组去重的方式  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  Laravel如何使用Eloquent进行子查询  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  用yum安装MySQLdb模块的步骤方法  详解阿里云nginx服务器多站点的配置  三星、SK海力士获美批准:可向中国出口芯片制造设备  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  EditPlus中的正则表达式 实战(1)  Laravel如何使用Sanctum进行API认证?(SPA实战)  北京企业网站设计制作公司,北京铁路集团官方网站?  Laravel怎么使用artisan命令缓存配置和视图  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  php 三元运算符实例详细介绍  魔方云NAT建站如何实现端口转发?  5种Android数据存储方式汇总  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  网站制作价目表怎么做,珍爱网婚介费用多少?  如何在IIS中新建站点并解决端口绑定冲突?  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  利用JavaScript实现拖拽改变元素大小  node.js报错:Cannot find module 'ejs'的解决办法  如何快速使用云服务器搭建个人网站?  Linux安全能力提升路径_长期防护思维说明【指导】  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  Laravel如何发送系统通知?(Notification渠道示例)