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


Posted in Python onSeptember 04, 2017

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使用chardet判断字符串编码的方法
Mar 13 Python
Python的Tornado框架异步编程入门实例
Apr 24 Python
python实现同时给多个变量赋值的方法
Apr 30 Python
Python实现的基于优先等级分配糖果问题算法示例
Apr 25 Python
python中ASCII码字符与int之间的转换方法
Jul 09 Python
如何利用Python分析出微信朋友男女统计图
Jan 25 Python
python实现词法分析器
Jan 31 Python
详解python深浅拷贝区别
Jun 24 Python
python实现测试工具(二)——简单的ui测试工具
Oct 19 Python
GitHub上值得推荐的8个python 项目
Oct 30 Python
详解Java中一维、二维数组在内存中的结构
Feb 11 Python
教你用Python matplotlib库制作简单的动画
Jun 11 Python
python 生成器协程运算实例
Sep 04 #Python
python 文件操作删除某行的实例
Sep 04 #Python
Django数据库操作的实例(增删改查)
Sep 04 #Python
python中Matplotlib实现绘制3D图的示例代码
Sep 04 #Python
Python2实现的LED大数字显示效果示例
Sep 04 #Python
Python2随机数列生成器简单实例
Sep 04 #Python
开源软件包和环境管理系统Anaconda的安装使用
Sep 04 #Python
You might like
php的正则处理函数总结分析
2008/06/20 PHP
PHP IE中下载附件问题解决方法
2014/01/07 PHP
php数组编码转换示例详解
2014/03/11 PHP
php实现按指定大小等比缩放生成上传图片缩略图的方法
2014/12/15 PHP
IE与FireFox的JavaScript兼容问题解决办法
2013/12/31 Javascript
js给页面加style无效果的解决方法
2014/01/20 Javascript
jQuery中innerWidth()方法用法实例
2015/01/19 Javascript
JavaScript编程中容易出BUG的几点小知识
2015/01/31 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
2015/03/10 Javascript
jQuery实现类似老虎机滚动抽奖效果
2015/08/06 Javascript
js变形金刚文字特效代码分享
2015/08/20 Javascript
JavaScript数组合并的多种方法
2016/05/22 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
微信小程序中进行地图导航功能的实现方法
2018/06/29 Javascript
Vue模拟数据,实现路由进入商品详情页面的示例
2018/08/31 Javascript
JS开发常用工具函数(小结)
2019/07/04 Javascript
javascript实现异形滚动轮播
2019/11/28 Javascript
[51:43]OG vs LGD 2018国际邀请赛淘汰赛BO3 第五场 8.26
2018/08/30 DOTA
python读取html中指定元素生成excle文件示例
2014/04/03 Python
在Python的Django框架的视图中使用Session的方法
2015/07/23 Python
Python标准库笔记struct模块的使用
2018/02/22 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
2020/03/10 Python
使用html2canvas将页面转成图并使用用canvas2image下载
2019/04/04 HTML / CSS
意大利在线购买隐形眼镜网站:VisionDirect.it
2019/03/18 全球购物
大学毕业寄语大全
2014/04/10 职场文书
不服从上级领导安排的检讨书
2014/09/14 职场文书
教师辞职信范文
2015/02/28 职场文书
前台接待员岗位职责
2015/04/15 职场文书
高一数学教学反思
2016/02/18 职场文书
《月球之谜》教学反思
2016/02/20 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书
python小程序之飘落的银杏
2021/04/17 Python
微软Win11什么功能最惊艳? Windows11新功能特性汇总
2021/11/21 数码科技
Python+OpenCV实现图片中的圆形检测
2022/04/07 Python
Python使用pyecharts控件绘制图表
2022/06/05 Python