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关键字and和or用法实例
May 28 Python
利用numpy+matplotlib绘图的基本操作教程
May 03 Python
Python中的pygal安装和绘制直方图代码分享
Dec 08 Python
Python+matplotlib实现填充螺旋实例
Jan 15 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
Dec 07 Python
Python使用requests提交HTTP表单的方法
Dec 26 Python
pandas dataframe添加表格框线输出的方法
Feb 08 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
Feb 27 Python
详解python中的线程与线程池
May 10 Python
将tensorflow模型打包成PB文件及PB文件读取方式
Jan 23 Python
python pptx复制指定页的ppt教程
Feb 14 Python
Python爬虫使用bs4方法实现数据解析
Aug 25 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管理内存函数 memory_get_usage()使用介绍
2012/09/23 PHP
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
Smarty变量用法详解
2016/05/11 PHP
php 7新特性之类型申明详解
2017/06/06 PHP
ThinkPHP防止重复提交表单的方法实例分析
2018/05/10 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
2019/06/03 PHP
JavaScript 脚本将当地时间转换成其它时区
2009/03/19 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
2016/06/28 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
2016/10/09 Javascript
BootStrap中关于Select下拉框选择触发事件及扩展
2016/11/22 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
2016/11/23 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
微信小程序button组件使用详解
2018/01/31 Javascript
详解js加减乘除精确计算
2019/03/19 Javascript
Angular4.0动画操作实例详解
2019/05/10 Javascript
深入了解query和params的使用区别
2019/06/24 Javascript
JS实现简单省市二级联动
2019/11/27 Javascript
基于Cesium绘制抛物弧线
2020/11/18 Javascript
python中zip和unzip数据的方法
2015/05/27 Python
python xlsxwriter库生成图表的应用示例
2018/03/16 Python
对python-3-print重定向输出的几种方法总结
2018/05/11 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
完美解决python3.7 pip升级 拒绝访问问题
2019/07/12 Python
python关于矩阵重复赋值覆盖问题的解决方法
2019/07/19 Python
python sklearn常用分类算法模型的调用
2019/10/16 Python
python剪切视频与合并视频的实现
2020/03/03 Python
python爬取youtube视频的示例代码
2021/03/03 Python
Charles & Colvard官网:美国莫桑石品牌
2019/06/05 全球购物
日本航空官方网站:JAL
2019/06/19 全球购物
商务英语毕业生自荐信范文
2013/11/08 职场文书
简历中个人自我评价范文
2013/12/26 职场文书
庆元旦迎新年广播稿
2014/02/18 职场文书
学术会议主持词
2014/03/17 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
2015年安全保卫工作总结
2015/05/14 职场文书