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 相关文章推荐
py中的目录与文件判别代码
Jul 16 Python
Python配置文件解析模块ConfigParser使用实例
Apr 13 Python
Python运行报错UnicodeDecodeError的解决方法
Jun 07 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
Jun 24 Python
使用python绘制二元函数图像的实例
Feb 12 Python
python程序快速缩进多行代码方法总结
Jun 23 Python
详解在python操作数据库中游标的使用方法
Nov 12 Python
python数据库编程 ODBC方式实现通讯录
Mar 27 Python
Python绘图之柱形图绘制详解
Jul 28 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
Nov 05 Python
Python django中如何使用restful框架
Jun 23 Python
深入浅析python3 依赖倒置原则(示例代码)
Jul 09 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 透明水印生成代码
2012/08/27 PHP
php实现的常见排序算法汇总
2014/09/08 PHP
php中socket的用法详解
2014/10/24 PHP
php通过sort()函数给数组排序的方法
2015/03/18 PHP
thinkphp3.2.3 分页代码分享
2016/07/28 PHP
[JS]点出统计器
2020/10/11 Javascript
Javascript 网页水印(非图片水印)实现代码
2010/03/01 Javascript
重载toString实现JS HashMap分析
2011/03/13 Javascript
基于jQuery的烟花效果(运动相关)点击屏幕出烟花
2012/06/14 Javascript
JavaScript计时器示例分析
2015/02/05 Javascript
jquery操作select方法汇总
2015/02/05 Javascript
轻量级javascript 框架Backbone使用指南
2015/07/24 Javascript
javascript从定义到执行 你不知道的那些事
2016/01/04 Javascript
jQuery短信验证倒计时功能实现方法详解
2016/05/25 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
2016/08/24 Javascript
Bootstrap 模态框(Modal)插件代码解析
2016/12/21 Javascript
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
基于AngularJS实现的工资计算器实例
2017/06/16 Javascript
微信小程序实现笑脸评分功能
2018/11/03 Javascript
vue.js 子组件无法获取父组件store值的解决方式
2019/11/08 Javascript
VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决
2020/09/27 Javascript
Python方法的延迟加载的示例代码
2017/12/18 Python
Opencv+Python 色彩通道拆分及合并的示例
2018/12/08 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
学习Django知识点分享
2019/09/11 Python
python实现tail -f 功能
2020/01/17 Python
Python网页解析器使用实例详解
2020/05/30 Python
Python爬取股票信息,并可视化数据的示例
2020/09/26 Python
见习期自我鉴定
2013/11/07 职场文书
财务部岗位职责
2013/11/19 职场文书
2014庆六一活动方案
2014/03/02 职场文书
市场营销策划方案
2014/06/11 职场文书
英语教师求职信范文
2015/03/20 职场文书
毕业论文答辩演讲稿
2015/06/23 职场文书
2016年读书月活动总结范文
2016/04/06 职场文书