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调用Matplotlib绘制分布点并且添加标签
May 31 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
Oct 15 Python
浅谈python的输入输出,注释,基本数据类型
Apr 02 Python
值得收藏的10道python 面试题
Apr 15 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
Apr 16 Python
Python实现字符型图片验证码识别完整过程详解
May 10 Python
如何爬取通过ajax加载数据的网站
Aug 15 Python
基于pytorch的保存和加载模型参数的方法
Aug 17 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
Jan 12 Python
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
Jun 08 Python
Python实现查询剪贴板自动匹配信息的思路详解
Jul 09 Python
Pandas 数据编码的十种方法
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
php操作sqlserver关于时间日期读取的小小见解
2009/11/29 PHP
PHP使用CURL_MULTI实现多线程采集的例子
2014/07/29 PHP
php中get_meta_tags()、CURL与user-agent用法分析
2014/12/16 PHP
PHP记录搜索引擎蜘蛛访问网站足迹的方法
2015/04/15 PHP
帝国CMS留言板回复后发送EMAIL通知客户
2015/07/06 PHP
jquery 倒计时效果实现秒杀思路
2013/09/11 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
2013/11/12 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
神奇!js+CSS+DIV实现文字颜色渐变效果
2016/03/16 Javascript
node+express制作爬虫教程
2016/11/11 Javascript
jQuery中animate的几种用法与注意事项
2016/12/12 Javascript
jQuery手风琴的简单制作
2017/05/12 jQuery
解决jQuery ajax动态新增节点无法触发点击事件的问题
2017/05/24 jQuery
JavaScript实现的可变动态数字键盘控件方式实例代码
2017/07/15 Javascript
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
JavaScript undefined及null区别实例解析
2020/07/21 Javascript
vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码
2020/09/16 Javascript
[05:09]2016国际邀请赛中国区预选赛淘汰赛首日精彩回顾
2016/06/29 DOTA
[05:37]DOTA2-DPC中国联赛 正赛 Elephant vs iG 选手采访
2021/03/11 DOTA
[51:39]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第二场 2月7日
2021/03/11 DOTA
详解tensorflow载入数据的三种方式
2018/04/24 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
python 矢量数据转栅格数据代码实例
2019/09/30 Python
在Python中使用MongoEngine操作数据库教程实例
2019/12/03 Python
python 解决flask uwsgi 获取不到全局变量的问题
2019/12/22 Python
通过实例简单了解Python sys.argv[]使用方法
2020/08/04 Python
新秀丽拉杆箱美国官方网站:Samsonite美国
2016/07/25 全球购物
柒牌官方商城:中国男装优秀品牌
2017/06/30 全球购物
现金会计岗位职责
2013/12/05 职场文书
档案室主任岗位职责
2014/02/12 职场文书
财务管理专业求职信
2014/06/11 职场文书
会议接待欢迎词范文
2015/01/26 职场文书
八一建军节主持词
2015/07/01 职场文书
中秋节随笔
2015/08/15 职场文书
python编写五子棋游戏
2021/05/25 Python