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使用实例
Jul 03 Python
python3简单实现微信爬虫
Apr 09 Python
python中的break、continue、exit()、pass全面解析
Aug 05 Python
python 将list转成字符串,中间用符号分隔的方法
Oct 23 Python
python pandas消除空值和空格以及 Nan数据替换方法
Oct 30 Python
python 3.3 下载固定链接文件并保存的方法
Dec 18 Python
Python TCPServer 多线程多客户端通信的实现
Dec 31 Python
Python3+Selenium+Chrome实现自动填写WPS表单
Feb 12 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
May 10 Python
python代码能做成软件吗
Jul 24 Python
Alpine安装Python3依赖出现的问题及解决方法
Dec 25 Python
pandas:get_dummies()与pd.factorize()的用法及区别说明
May 21 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查询搜索引擎排名位置的代码
2010/01/05 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
2016/03/28 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
2011/01/01 Javascript
JavaScript 基础篇之对象、数组使用介绍(三)
2012/04/07 Javascript
js实现拖拽效果
2015/02/12 Javascript
深入理解Java线程编程中的阻塞队列容器
2015/12/07 Javascript
Javascript中的对象和原型(二)
2016/08/12 Javascript
Angular Module声明和获取重载实例代码
2016/09/14 Javascript
JS实现的验证身份证及获取地区功能示例
2017/01/16 Javascript
mpvue构建小程序的方法(步骤+地址)
2018/05/22 Javascript
探索JavaScript中私有成员的相关知识
2019/06/13 Javascript
微信小程序嵌入腾讯视频源过程详解
2019/08/08 Javascript
layui使用及简单的三级联动实现教程
2020/12/01 Javascript
[02:08:58]2014 DOTA2国际邀请赛中国区预选赛 Ne VS CIS
2014/05/22 DOTA
python模拟Django框架实例
2016/05/17 Python
Python实现Youku视频批量下载功能
2017/03/14 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
2018/02/11 Python
python中ASCII码和字符的转换方法
2018/07/09 Python
pandas 空的dataframe 插入列名的示例
2018/10/30 Python
对python cv2批量灰度图片并保存的实例讲解
2018/11/09 Python
pandas分别写入excel的不同sheet方法
2018/12/11 Python
Python微医挂号网医生数据抓取
2019/01/24 Python
python名片管理系统开发
2020/06/18 Python
python 字符串的驻留机制及优缺点
2020/06/19 Python
python实现扫雷游戏的示例
2020/10/20 Python
CSS实现进度条和订单进度条的示例
2020/11/05 HTML / CSS
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
定义一结构体数组表示分数,并求两个分数相加之和
2013/06/11 面试题
商务英语毕业生自荐信范文
2013/11/08 职场文书
优秀大学生推荐信范文
2013/11/28 职场文书
保险内勤岗位职责
2014/04/05 职场文书
分公司任命书
2014/06/06 职场文书
2014年领导班子工作总结
2014/12/11 职场文书
《清澈的湖水》教学反思
2016/02/17 职场文书
「玫瑰之王的葬礼」舞台剧主视觉图公开
2022/03/21 日漫