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 相关文章推荐
Pyramid Mako模板引入helper对象的步骤方法
Nov 27 Python
通过Python使用saltstack生成服务器资产清单
Mar 01 Python
python 实时遍历日志文件
Apr 12 Python
python记录程序运行时间的三种方法
Jul 14 Python
遗传算法之Python实现代码
Oct 10 Python
python实现电脑自动关机
Jun 20 Python
Python字符串的一些操作方法总结
Jun 10 Python
利用python开发app实战的方法
Jul 09 Python
使用python打印十行杨辉三角过程详解
Jul 10 Python
python3读取autocad图形文件.py实例
Jun 05 Python
python3实现名片管理系统(控制台版)
Nov 29 Python
Python绘制分类图的方法
Apr 20 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
WordPress自定义时间显示格式
2015/03/27 PHP
Thinkphp和onethink实现微信支付插件
2016/04/13 PHP
php实现36进制与10进制转换功能示例
2017/01/10 PHP
[原创]php正则删除html代码中class样式属性的方法
2017/05/24 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
详解laravel passport OAuth2.0的4种模式
2019/11/04 PHP
TNC vs IO BO3 第一场2.13
2021/03/10 DOTA
javascript 获取select下拉列表值的代码
2009/09/07 Javascript
jquery ajax 局部刷新小案例
2014/02/08 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
纯js实现无限空间大小的本地存储
2015/06/18 Javascript
JS实现表单中checkbox对勾选中增加边框显示效果
2015/08/21 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
2015/09/30 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
2016/07/05 Javascript
jquery实现图片列表鼠标移入微动
2016/12/01 Javascript
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
使用Node.js实现ORM的一种思路详解(图文)
2017/10/24 Javascript
微信小程序实现签字功能
2019/12/23 Javascript
ES2020 新特性(种草)
2020/01/12 Javascript
[48:44]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS HGT
2014/05/22 DOTA
Python冲顶大会 快来答题!
2018/01/17 Python
对Python 网络设备巡检脚本的实例讲解
2018/04/22 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
2020/06/04 Python
HTML5基于flash实现播放RTMP协议视频的示例代码
2020/12/04 HTML / CSS
捷克移动配件网上商店:ProMobily.cz
2019/03/15 全球购物
认识深刻的检讨书
2014/02/16 职场文书
烹饪自我鉴定
2014/03/01 职场文书
聘任书模板
2014/03/29 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
乱丢垃圾袋检讨书
2014/10/08 职场文书
高中生毕业评语
2014/12/30 职场文书
2015年设计师个人工作总结
2015/04/25 职场文书
2016年领导干部正风肃纪心得体会
2015/10/09 职场文书
Java时间工具类Date的常用处理方法
2022/05/25 Java/Android